home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: Tape Archive
(archive/tar).
You can browse this item here: apcd-0
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| Tape Archive (archive/tar)
| magic
| Supported |
100%
| file
| POSIX tar archive (GNU)
| default
| |
99%
| file
| POSIX tar archive (GNU), file History, mode 100644 , uid 0 , gid 0 , size 767 , seconds 6047374714, user root, group root
| default
| |
98%
| file
| data
| default
| |
41%
| TrID
| Sybase iAnywhere database files
| default (weak)
| |
36%
| TrID
| TAR - Tape ARchive (GNU)
| default
| |
21%
| TrID
| TAR - Tape ARchive (file)
| default
| |
100%
| siegfried
| x-fmt/265 Tape Archive Format
| default
| |
100%
| lsar
| Tar
| default
| |
100%
| gt2
| TAR Archiv gefunden (Auflistung ist deaktiviert)
| default
| |
100%
| disktype
| GNU tar archive
| default
| |
100%
| detectItEasy
| Archive: tar
| default
| |
100%
| binwalkID
| POSIX tar archive (GNU)
| default
| |
100%
| xdgMime
| application/x-tar
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 48 69 73 74 6f 72 79 00 | 00 00 00 00 00 00 00 00 |History.|........|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000050| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000060| 00 00 00 00 31 30 30 36 | 34 34 20 00 20 20 20 20 |....1006|44 . |
|00000070| 20 30 20 00 20 20 20 20 | 20 30 20 00 20 20 20 20 | 0 . | 0 . |
|00000080| 20 20 20 20 37 36 37 20 | 20 36 30 34 37 33 37 34 | 767 | 6047374|
|00000090| 37 31 34 20 20 31 30 35 | 32 37 00 20 30 00 00 00 |714 105|27. 0...|
|000000a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000100| 00 75 73 74 61 72 20 20 | 00 72 6f 6f 74 00 00 00 |.ustar |.root...|
|00000110| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000120| 00 00 00 00 00 00 00 00 | 00 72 6f 6f 74 00 00 00 |........|.root...|
|00000130| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000140| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000150| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000170| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000180| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000190| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000200| 48 69 73 74 6f 72 79 3a | 0a 0a 42 65 74 61 20 30 |History:|..Beta 0|
|00000210| 2e 35 09 38 2e 31 31 2e | 31 39 39 35 0a 0a 2d 20 |.5.8.11.|1995..- |
|00000220| 4e 65 74 77 6f 72 6b 20 | 73 75 70 70 6f 72 74 20 |Network |support |
|00000230| 77 61 73 20 61 64 64 65 | 64 20 66 6f 72 20 6d 61 |was adde|d for ma|
|00000240| 78 2e 20 31 30 20 73 6c | 61 76 65 73 0a 2d 20 53 |x. 10 sl|aves.- S|
|00000250| 49 47 55 53 52 31 20 73 | 69 67 6e 61 6c 20 6e 6f |IGUSR1 s|ignal no|
|00000260| 77 20 70 75 74 20 74 68 | 65 20 73 74 61 74 75 73 |w put th|e status|
|00000270| 20 69 6e 66 6f 20 61 62 | 6f 75 74 20 55 50 53 20 | info ab|out UPS |
|00000280| 74 6f 20 74 68 65 20 66 | 69 6c 65 20 2f 76 61 72 |to the f|ile /var|
|00000290| 2f 75 70 73 73 74 61 74 | 0a 2d 20 54 68 69 73 20 |/upsstat|.- This |
|000002a0| 76 65 72 73 69 6f 6e 20 | 69 73 20 61 76 61 69 6c |version |is avail|
|000002b0| 61 62 6c 65 20 66 6f 72 | 20 70 75 62 6c 69 63 20 |able for| public |
|000002c0| 72 65 6c 65 61 73 65 0a | 0a 42 65 74 61 20 30 2e |release.|.Beta 0.|
|000002d0| 34 09 32 35 2e 31 30 2e | 31 39 39 35 0a 0a 2d 20 |4.25.10.|1995..- |
|000002e0| 4e 65 74 77 6f 72 6b 20 | 73 75 70 70 6f 72 74 20 |Network |support |
|000002f0| 66 6f 72 20 6f 6e 65 20 | 73 6c 61 76 65 0a 2d 20 |for one |slave.- |
|00000300| 4c 6f 67 67 69 6e 67 20 | 66 65 61 74 75 72 65 20 |Logging |feature |
|00000310| 77 61 73 20 61 64 64 65 | 64 0a 0a 42 65 74 61 20 |was adde|d..Beta |
|00000320| 30 2e 33 09 31 30 2e 39 | 2e 31 39 39 35 0a 0a 2d |0.3.10.9|.1995..-|
|00000330| 20 42 65 74 74 65 72 20 | 55 50 53 20 73 77 69 74 | Better |UPS swit|
|00000340| 63 68 69 6e 67 20 6f 66 | 66 0a 2d 20 43 6f 6e 66 |ching of|f.- Conf|
|00000350| 69 67 75 72 61 74 69 6f | 6e 20 66 69 6c 65 2c 20 |iguratio|n file, |
|00000360| 70 61 72 73 69 6e 67 20 | 65 74 63 2e 0a 0a 42 65 |parsing |etc...Be|
|00000370| 74 61 20 30 2e 32 09 31 | 30 2e 38 2e 31 39 39 35 |ta 0.2.1|0.8.1995|
|00000380| 0a 0a 2d 20 42 61 74 74 | 65 72 79 20 6c 6f 77 20 |..- Batt|ery low |
|00000390| 73 75 70 70 6f 72 74 0a | 2d 20 53 6f 6d 65 20 6d |support.|- Some m|
|000003a0| 69 6e 6f 72 20 62 75 67 | 73 20 66 69 78 65 64 0a |inor bug|s fixed.|
|000003b0| 0a 41 6c 70 68 61 20 30 | 2e 31 09 32 33 2e 35 2e |.Alpha 0|.1.23.5.|
|000003c0| 31 39 39 35 0a 0a 2d 20 | 46 69 72 73 74 20 76 65 |1995..- |First ve|
|000003d0| 72 73 69 6f 6e 2c 20 75 | 70 6c 6f 61 64 65 64 20 |rsion, u|ploaded |
|000003e0| 74 6f 20 74 68 65 20 73 | 75 6e 73 69 74 65 2e 75 |to the s|unsite.u|
|000003f0| 6e 63 2e 65 64 75 20 00 | 00 00 00 00 00 00 00 00 |nc.edu .|........|
|00000400| 4d 61 6b 65 66 69 6c 65 | 00 00 00 00 00 00 00 00 |Makefile|........|
|00000410| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000420| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000430| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000440| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000450| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000460| 00 00 00 00 31 30 30 36 | 36 36 20 00 20 20 20 20 |....1006|66 . |
|00000470| 20 30 20 00 20 20 20 20 | 20 30 20 00 20 20 20 20 | 0 . | 0 . |
|00000480| 20 20 20 32 31 30 33 20 | 20 36 30 34 37 36 35 31 | 2103 | 6047651|
|00000490| 35 35 33 20 20 31 30 36 | 31 30 00 20 30 00 00 00 |553 106|10. 0...|
|000004a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000004f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000500| 00 75 73 74 61 72 20 20 | 00 72 6f 6f 74 00 00 00 |.ustar |.root...|
|00000510| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000520| 00 00 00 00 00 00 00 00 | 00 72 6f 6f 74 00 00 00 |........|.root...|
|00000530| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000540| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000550| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000560| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000570| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000580| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000590| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000600| 23 20 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |# ------|--------|
|00000610| 2d 2d 2d 2d 20 55 53 45 | 52 20 43 4f 4e 46 49 47 |---- USE|R CONFIG|
|00000620| 55 52 41 42 4c 45 20 53 | 45 54 54 49 4e 47 53 20 |URABLE S|ETTINGS |
|00000630| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000640| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0a 23 20 54 68 |--------|---.# Th|
|00000650| 65 20 64 69 72 65 63 74 | 6f 72 69 65 73 20 77 68 |e direct|ories wh|
|00000660| 65 72 65 20 66 69 6c 65 | 73 20 77 69 6c 6c 20 62 |ere file|s will b|
|00000670| 65 20 69 6e 73 74 61 6c | 6c 65 64 2c 20 79 6f 75 |e instal|led, you|
|00000680| 20 6d 61 79 20 77 61 6e | 74 20 74 6f 20 63 68 61 | may wan|t to cha|
|00000690| 6e 67 65 20 74 68 65 73 | 65 2e 0a 42 49 4e 44 49 |nge thes|e..BINDI|
|000006a0| 52 3d 2f 75 73 72 2f 73 | 62 69 6e 0a 4d 41 4e 44 |R=/usr/s|bin.MAND|
|000006b0| 49 52 3d 2f 75 73 72 2f | 6d 61 6e 0a 45 54 43 44 |IR=/usr/|man.ETCD|
|000006c0| 49 52 3d 2f 65 74 63 0a | 0a 23 20 43 6f 6d 70 69 |IR=/etc.|.# Compi|
|000006d0| 6c 65 72 20 66 6c 61 67 | 73 2e 0a 43 43 20 3d 20 |ler flag|s..CC = |
|000006e0| 67 63 63 0a 43 46 4c 41 | 47 53 20 3d 20 2d 4f 20 |gcc.CFLA|GS = -O |
|000006f0| 2d 57 61 6c 6c 20 2d 66 | 6f 6d 69 74 2d 66 72 61 |-Wall -f|omit-fra|
|00000700| 6d 65 2d 70 6f 69 6e 74 | 65 72 20 2d 70 69 70 65 |me-point|er -pipe|
|00000710| 20 0a 0a 23 20 49 66 20 | 79 6f 75 20 61 72 65 20 | ..# If |you are |
|00000720| 75 73 69 6e 67 20 67 63 | 63 20 32 2e 35 2e 38 20 |using gc|c 2.5.8 |
|00000730| 74 68 69 73 20 77 69 6c | 6c 20 67 65 74 20 79 6f |this wil|l get yo|
|00000740| 75 20 51 4d 41 47 49 43 | 20 65 78 65 63 75 74 61 |u QMAGIC| executa|
|00000750| 62 6c 65 73 0a 23 20 6c | 61 74 65 72 20 76 65 72 |bles.# l|ater ver|
|00000760| 73 69 6f 6e 73 20 6f 66 | 20 67 63 63 20 64 6f 20 |sions of| gcc do |
|00000770| 74 68 69 73 20 62 79 20 | 64 65 66 61 75 6c 74 2e |this by |default.|
|00000780| 0a 23 4c 44 46 4c 41 47 | 53 20 3d 20 2d 58 6c 69 |.#LDFLAG|S = -Xli|
|00000790| 6e 6b 65 72 20 2d 71 6d | 61 67 69 63 0a 4c 44 46 |nker -qm|agic.LDF|
|000007a0| 4c 41 47 53 20 3d 20 0a | 23 20 2d 2d 2d 2d 2d 2d |LAGS = .|# ------|
|000007b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 20 45 4e 44 |--------|---- END|
|000007c0| 20 4f 46 20 55 53 45 52 | 20 43 4f 4e 46 49 47 55 | OF USER| CONFIGU|
|000007d0| 52 41 54 49 4f 4e 53 20 | 2d 2d 2d 2d 2d 2d 2d 2d |RATIONS |--------|
|000007e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007f0| 2d 2d 2d 0a 0a 4f 42 4a | 46 49 4c 45 53 3d 61 70 |---..OBJ|FILES=ap|
|00000800| 63 64 2e 6f 20 70 61 72 | 73 65 2e 6f 20 75 70 73 |cd.o par|se.o ups|
|00000810| 6e 65 74 2e 6f 0a 53 4f | 55 52 43 45 46 49 4c 45 |net.o.SO|URCEFILE|
|00000820| 53 3d 61 70 63 64 2e 63 | 20 70 61 72 73 65 2e 63 |S=apcd.c| parse.c|
|00000830| 20 75 70 73 6e 65 74 2e | 63 0a 48 46 49 4c 45 53 | upsnet.|c.HFILES|
|00000840| 3d 61 70 63 64 2e 68 20 | 76 65 72 73 69 6f 6e 2e |=apcd.h |version.|
|00000850| 68 20 0a 44 4f 43 46 49 | 4c 45 53 3d 52 45 41 44 |h .DOCFI|LES=READ|
|00000860| 4d 45 0a 44 49 53 54 46 | 49 4c 45 53 3d 4d 61 6b |ME.DISTF|ILES=Mak|
|00000870| 65 66 69 6c 65 20 24 28 | 53 4f 55 52 43 45 46 49 |efile $(|SOURCEFI|
|00000880| 4c 45 53 29 20 24 28 48 | 46 49 4c 45 53 29 20 24 |LES) $(H|FILES) $|
|00000890| 28 44 4f 43 46 49 4c 45 | 53 29 0a 0a 61 70 63 64 |(DOCFILE|S)..apcd|
|000008a0| 3a 20 24 28 4f 42 4a 46 | 49 4c 45 53 29 0a 09 24 |: $(OBJF|ILES)..$|
|000008b0| 28 43 43 29 20 24 28 43 | 46 4c 41 47 53 29 20 24 |(CC) $(C|FLAGS) $|
|000008c0| 28 4c 44 46 4c 41 47 53 | 29 20 24 28 4f 42 4a 46 |(LDFLAGS|) $(OBJF|
|000008d0| 49 4c 45 53 29 20 2d 6f | 20 61 70 63 64 0a 0a 69 |ILES) -o| apcd..i|
|000008e0| 6e 73 74 61 6c 6c 3a 20 | 61 70 63 64 0a 09 69 6e |nstall: |apcd..in|
|000008f0| 73 74 61 6c 6c 20 2d 6f | 20 72 6f 6f 74 20 2d 67 |stall -o| root -g|
|00000900| 20 62 69 6e 20 61 70 63 | 64 20 24 7b 42 49 4e 44 | bin apc|d ${BIND|
|00000910| 49 52 7d 2f 61 70 63 64 | 0a 09 69 6e 73 74 61 6c |IR}/apcd|..instal|
|00000920| 6c 20 2d 6f 20 72 6f 6f | 74 20 2d 67 20 62 69 6e |l -o roo|t -g bin|
|00000930| 20 64 6f 63 2f 61 70 63 | 64 2e 6d 61 6e 20 24 7b | doc/apc|d.man ${|
|00000940| 4d 41 4e 44 49 52 7d 2f | 6d 61 6e 38 2f 61 70 63 |MANDIR}/|man8/apc|
|00000950| 64 2e 38 0a 09 69 6e 73 | 74 61 6c 6c 20 2d 6f 20 |d.8..ins|tall -o |
|00000960| 72 6f 6f 74 20 2d 67 20 | 62 69 6e 20 61 70 63 64 |root -g |bin apcd|
|00000970| 2e 63 6f 6e 66 20 24 7b | 45 54 43 44 49 52 7d 2f |.conf ${|ETCDIR}/|
|00000980| 61 70 63 64 2e 63 6f 6e | 66 0a 09 63 68 6d 6f 64 |apcd.con|f..chmod|
|00000990| 20 34 37 34 34 20 24 7b | 42 49 4e 44 49 52 7d 2f | 4744 ${|BINDIR}/|
|000009a0| 61 70 63 64 0a 63 6c 65 | 61 6e 3a 0a 09 72 6d 20 |apcd.cle|an:..rm |
|000009b0| 2d 66 20 2a 2e 6f 20 61 | 70 63 64 0a 0a 64 65 70 |-f *.o a|pcd..dep|
|000009c0| 3a 0a 09 24 28 43 50 50 | 29 20 2d 4d 20 2a 2e 63 |:..$(CPP|) -M *.c|
|000009d0| 20 3e 20 2e 64 65 70 65 | 6e 64 0a 0a 23 0a 23 20 | > .depe|nd..#.# |
|000009e0| 69 6e 63 6c 75 64 65 20 | 61 20 64 65 70 65 6e 64 |include |a depend|
|000009f0| 65 6e 63 79 20 66 69 6c | 65 20 69 66 20 6f 6e 65 |ency fil|e if one|
|00000a00| 20 65 78 69 73 74 73 0a | 23 0a 69 66 65 71 20 28 | exists.|#.ifeq (|
|00000a10| 2e 64 65 70 65 6e 64 2c | 24 28 77 69 6c 64 63 61 |.depend,|$(wildca|
|00000a20| 72 64 20 2e 64 65 70 65 | 6e 64 29 29 0a 69 6e 63 |rd .depe|nd)).inc|
|00000a30| 6c 75 64 65 20 2e 64 65 | 70 65 6e 64 0a 65 6e 64 |lude .de|pend.end|
|00000a40| 69 66 0a 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |if......|........|
|00000a50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000a90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000aa0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ab0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ac0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ad0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ae0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000af0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000b00| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000b10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000b20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000b30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000b40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000b50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000b60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000b70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000b80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000b90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ba0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000bb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000bc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000bd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000be0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000bf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000c00| 52 45 41 44 4d 45 00 00 | 00 00 00 00 00 00 00 00 |README..|........|
|00000c10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000c20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000c30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000c40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000c50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000c60| 00 00 00 00 31 30 30 36 | 36 36 20 00 20 20 20 20 |....1006|66 . |
|00000c70| 20 30 20 00 20 20 20 20 | 20 30 20 00 20 20 20 20 | 0 . | 0 . |
|00000c80| 20 20 20 34 36 35 35 20 | 20 36 30 34 37 36 35 32 | 4655 | 6047652|
|00000c90| 34 36 37 20 20 31 30 30 | 35 33 00 20 30 00 00 00 |467 100|53. 0...|
|00000ca0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000cb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000cc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000cd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000ce0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000cf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000d00| 00 75 73 74 61 72 20 20 | 00 72 6f 6f 74 00 00 00 |.ustar |.root...|
|00000d10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000d20| 00 00 00 00 00 00 00 00 | 00 72 6f 6f 74 00 00 00 |........|.root...|
|00000d30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000d40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000d50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000d60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000d70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000d80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000d90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000da0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000db0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000dc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000dd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000de0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000df0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000e00| 46 69 72 73 74 6c 79 2c | 20 65 78 63 75 73 65 20 |Firstly,| excuse |
|00000e10| 6d 65 20 6d 79 20 45 6e | 67 6c 69 73 68 2e 20 49 |me my En|glish. I|
|00000e20| 20 61 6d 20 74 68 65 20 | 70 72 6f 67 72 61 6d 6d | am the |programm|
|00000e30| 65 72 2c 20 6e 6f 74 20 | 74 68 65 20 6c 61 6e 67 |er, not |the lang|
|00000e40| 75 61 67 65 20 74 65 61 | 63 68 65 72 2e 0a 0a 0a |uage tea|cher....|
|00000e50| 0a 0a 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |..======|========|
|00000e60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e90| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 0a |========|=======.|
|00000ea0| 0a 43 6f 70 79 72 69 67 | 68 74 20 28 63 29 20 31 |.Copyrig|ht (c) 1|
|00000eb0| 39 39 35 20 50 61 76 65 | 6c 20 4b 6f 72 65 6e 73 |995 Pave|l Korens|
|00000ec0| 6b 79 0a 41 6c 6c 20 72 | 69 67 68 74 73 20 72 65 |ky.All r|ights re|
|00000ed0| 73 65 72 76 65 64 2e 0a | 0a 50 65 72 6d 69 73 73 |served..|.Permiss|
|00000ee0| 69 6f 6e 20 69 73 20 68 | 65 72 65 62 79 20 67 72 |ion is h|ereby gr|
|00000ef0| 61 6e 74 65 64 2c 20 77 | 69 74 68 6f 75 74 20 77 |anted, w|ithout w|
|00000f00| 72 69 74 74 65 6e 20 61 | 67 72 65 65 6d 65 6e 74 |ritten a|greement|
|00000f10| 20 61 6e 64 20 77 69 74 | 68 6f 75 74 0a 6c 69 63 | and wit|hout.lic|
|00000f20| 65 6e 73 65 20 6f 72 20 | 72 6f 79 61 6c 74 79 20 |ense or |royalty |
|00000f30| 66 65 65 73 2c 20 74 6f | 20 75 73 65 2c 20 63 6f |fees, to| use, co|
|00000f40| 70 79 2c 20 6d 6f 64 69 | 66 79 2c 20 61 6e 64 20 |py, modi|fy, and |
|00000f50| 64 69 73 74 72 69 62 75 | 74 65 20 74 68 69 73 0a |distribu|te this.|
|00000f60| 73 6f 66 74 77 61 72 65 | 20 61 6e 64 20 69 74 73 |software| and its|
|00000f70| 20 64 6f 63 75 6d 65 6e | 74 61 74 69 6f 6e 20 66 | documen|tation f|
|00000f80| 6f 72 20 61 6e 79 20 70 | 75 72 70 6f 73 65 2c 20 |or any p|urpose, |
|00000f90| 70 72 6f 76 69 64 65 64 | 20 74 68 61 74 20 74 68 |provided| that th|
|00000fa0| 65 0a 61 62 6f 76 65 20 | 63 6f 70 79 72 69 67 68 |e.above |copyrigh|
|00000fb0| 74 20 6e 6f 74 69 63 65 | 20 61 6e 64 20 74 68 65 |t notice| and the|
|00000fc0| 20 66 6f 6c 6c 6f 77 69 | 6e 67 20 74 77 6f 20 70 | followi|ng two p|
|00000fd0| 61 72 61 67 72 61 70 68 | 73 20 61 70 70 65 61 72 |aragraph|s appear|
|00000fe0| 20 69 6e 0a 61 6c 6c 20 | 63 6f 70 69 65 73 20 6f | in.all |copies o|
|00000ff0| 66 20 74 68 69 73 20 73 | 6f 66 74 77 61 72 65 2e |f this s|oftware.|
|00001000| 0a 0a 49 4e 20 4e 4f 20 | 45 56 45 4e 54 20 53 48 |..IN NO |EVENT SH|
|00001010| 41 4c 4c 20 50 41 56 45 | 4c 20 4b 4f 52 45 4e 53 |ALL PAVE|L KORENS|
|00001020| 4b 59 20 42 45 20 4c 49 | 41 42 4c 45 20 54 4f 20 |KY BE LI|ABLE TO |
|00001030| 41 4e 59 20 50 41 52 54 | 59 20 46 4f 52 0a 44 49 |ANY PART|Y FOR.DI|
|00001040| 52 45 43 54 2c 20 49 4e | 44 49 52 45 43 54 2c 20 |RECT, IN|DIRECT, |
|00001050| 53 50 45 43 49 41 4c 2c | 20 49 4e 43 49 44 45 4e |SPECIAL,| INCIDEN|
|00001060| 54 41 4c 2c 20 4f 52 20 | 43 4f 4e 53 45 51 55 45 |TAL, OR |CONSEQUE|
|00001070| 4e 54 49 41 4c 20 44 41 | 4d 41 47 45 53 20 41 52 |NTIAL DA|MAGES AR|
|00001080| 49 53 49 4e 47 20 4f 55 | 54 0a 4f 46 20 54 48 45 |ISING OU|T.OF THE|
|00001090| 20 55 53 45 20 4f 46 20 | 54 48 49 53 20 53 4f 46 | USE OF |THIS SOF|
|000010a0| 54 57 41 52 45 20 41 4e | 44 20 49 54 53 20 44 4f |TWARE AN|D ITS DO|
|000010b0| 43 55 4d 45 4e 54 41 54 | 49 4f 4e 2c 20 45 56 45 |CUMENTAT|ION, EVE|
|000010c0| 4e 20 49 46 20 50 41 56 | 45 4c 20 4b 4f 52 45 4e |N IF PAV|EL KOREN|
|000010d0| 53 4b 59 0a 48 41 53 20 | 42 45 45 4e 20 41 44 56 |SKY.HAS |BEEN ADV|
|000010e0| 49 53 45 44 20 4f 46 20 | 54 48 45 20 50 4f 53 53 |ISED OF |THE POSS|
|000010f0| 49 42 49 4c 49 54 59 20 | 4f 46 20 53 55 43 48 20 |IBILITY |OF SUCH |
|00001100| 44 41 4d 41 47 45 2e 0a | 0a 50 41 56 45 4c 20 4b |DAMAGE..|.PAVEL K|
|00001110| 4f 52 45 4e 53 4b 59 20 | 53 50 45 43 49 46 49 43 |ORENSKY |SPECIFIC|
|00001120| 41 4c 4c 59 20 44 49 53 | 43 4c 41 49 4d 53 20 41 |ALLY DIS|CLAIMS A|
|00001130| 4e 59 20 57 41 52 52 41 | 4e 54 49 45 53 2c 20 49 |NY WARRA|NTIES, I|
|00001140| 4e 43 4c 55 44 49 4e 47 | 2c 20 42 55 54 20 4e 4f |NCLUDING|, BUT NO|
|00001150| 54 0a 4c 49 4d 49 54 45 | 44 20 54 4f 2c 20 54 48 |T.LIMITE|D TO, TH|
|00001160| 45 20 49 4d 50 4c 49 45 | 44 20 57 41 52 52 41 4e |E IMPLIE|D WARRAN|
|00001170| 54 49 45 53 20 4f 46 20 | 4d 45 52 43 48 41 4e 54 |TIES OF |MERCHANT|
|00001180| 41 42 49 4c 49 54 59 20 | 41 4e 44 20 46 49 54 4e |ABILITY |AND FITN|
|00001190| 45 53 53 20 46 4f 52 0a | 41 20 50 41 52 54 49 43 |ESS FOR.|A PARTIC|
|000011a0| 55 4c 41 52 20 50 55 52 | 50 4f 53 45 2e 20 20 54 |ULAR PUR|POSE. T|
|000011b0| 48 45 20 53 4f 46 54 57 | 41 52 45 20 50 52 4f 56 |HE SOFTW|ARE PROV|
|000011c0| 49 44 45 44 20 48 45 52 | 45 55 4e 44 45 52 20 49 |IDED HER|EUNDER I|
|000011d0| 53 20 4f 4e 20 41 4e 20 | 22 41 53 20 49 53 22 0a |S ON AN |"AS IS".|
|000011e0| 42 41 53 49 53 2c 20 41 | 4e 44 20 50 41 56 45 4c |BASIS, A|ND PAVEL|
|000011f0| 20 4b 4f 52 45 4e 53 4b | 59 20 48 41 53 20 4e 4f | KORENSK|Y HAS NO|
|00001200| 20 4f 42 4c 49 47 41 54 | 49 4f 4e 20 54 4f 20 50 | OBLIGAT|ION TO P|
|00001210| 52 4f 56 49 44 45 20 4d | 41 49 4e 54 45 4e 41 4e |ROVIDE M|AINTENAN|
|00001220| 43 45 2c 20 53 55 50 50 | 4f 52 54 2c 0a 55 50 44 |CE, SUPP|ORT,.UPD|
|00001230| 41 54 45 53 2c 20 45 4e | 48 41 4e 43 45 4d 45 4e |ATES, EN|HANCEMEN|
|00001240| 54 53 2c 20 4f 52 20 4d | 4f 44 49 46 49 43 41 54 |TS, OR M|ODIFICAT|
|00001250| 49 4f 4e 53 2e 0a 0a 3d | 3d 3d 3d 3d 3d 3d 3d 3d |IONS...=|========|
|00001260| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001270| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001280| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001290| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000012a0| 3d 3d 3d 3d 0a 0a 0a 42 | 49 47 20 48 45 4c 4c 4f |====...B|IG HELLO|
|000012b0| 20 54 4f 20 41 4c 4c 20 | 49 4e 54 45 4c 4c 49 47 | TO ALL |INTELLIG|
|000012c0| 45 4e 54 20 4c 49 46 45 | 46 4f 52 4d 53 20 45 56 |ENT LIFE|FORMS EV|
|000012d0| 45 52 59 57 48 45 52 45 | 20 21 21 21 0a 0a 54 68 |ERYWHERE| !!!..Th|
|000012e0| 65 20 74 69 6d 65 20 6f | 66 20 77 61 69 74 69 6e |e time o|f waitin|
|000012f0| 67 20 69 73 20 6f 76 65 | 72 2e 2e 2e 2e 2e 2e 0a |g is ove|r.......|
|00001300| 0a 0a 61 70 63 64 20 2d | 20 64 61 65 6d 6f 6e 20 |..apcd -| daemon |
|00001310| 66 6f 72 20 63 6f 6d 6d | 75 6e 69 63 61 74 69 6f |for comm|unicatio|
|00001320| 6e 20 77 69 74 68 20 41 | 50 43 20 53 6d 61 72 74 |n with A|PC Smart|
|00001330| 20 55 50 53 20 69 6e 20 | 74 68 65 20 22 73 6d 61 | UPS in |the "sma|
|00001340| 72 74 22 20 6d 6f 64 65 | 0a 0a 56 45 52 53 49 4f |rt" mode|..VERSIO|
|00001350| 4e 20 42 45 54 41 20 30 | 2e 35 20 20 2d 20 42 45 |N BETA 0|.5 - BE|
|00001360| 20 45 58 54 52 45 4d 45 | 4c 59 20 43 41 52 45 46 | EXTREME|LY CAREF|
|00001370| 55 4c 4c 20 21 21 21 0a | 0a 49 6e 73 74 61 6c 6c |ULL !!!.|.Install|
|00001380| 61 74 69 6f 6e 20 69 73 | 20 76 65 72 79 20 73 69 |ation is| very si|
|00001390| 6d 70 6c 65 2e 20 4a 75 | 73 74 20 22 6d 61 6b 65 |mple. Ju|st "make|
|000013a0| 20 69 6e 73 74 61 6c 6c | 22 20 61 6e 64 20 74 68 | install|" and th|
|000013b0| 61 6e 3a 0a 6d 61 6e 20 | 61 70 63 64 2e 20 49 6e |an:.man |apcd. In|
|000013c0| 20 74 68 65 20 6d 61 6e | 20 66 69 6c 65 2c 20 79 | the man| file, y|
|000013d0| 6f 75 20 63 61 6e 20 66 | 69 6e 64 20 68 6f 77 20 |ou can f|ind how |
|000013e0| 74 6f 20 73 65 74 75 70 | 20 74 68 65 20 63 6f 6e |to setup| the con|
|000013f0| 66 69 67 75 72 61 74 69 | 6f 6e 20 66 69 6c 65 0a |figurati|on file.|
|00001400| 2f 65 74 63 2f 61 70 63 | 64 2e 63 6f 6e 66 0a 0a |/etc/apc|d.conf..|
|00001410| 49 6e 20 74 68 65 20 6d | 61 6e 20 70 61 67 65 2c |In the m|an page,|
|00001420| 20 79 6f 75 20 77 69 6c | 6c 20 61 6c 73 6f 20 66 | you wil|l also f|
|00001430| 69 6e 64 20 74 68 65 20 | 69 6e 66 6f 72 6d 61 74 |ind the |informat|
|00001440| 69 6f 6e 20 61 62 6f 75 | 74 20 74 68 65 20 63 61 |ion abou|t the ca|
|00001450| 62 6c 65 20 62 65 74 77 | 65 65 6e 0a 55 50 53 20 |ble betw|een.UPS |
|00001460| 61 6e 64 20 4c 69 6e 75 | 78 20 62 6f 78 2e 20 0a |and Linu|x box. .|
|00001470| 0a 50 6c 65 61 73 65 20 | 74 65 73 74 20 74 68 69 |.Please |test thi|
|00001480| 73 20 76 65 72 73 69 6f | 6e 20 61 6e 64 20 72 65 |s versio|n and re|
|00001490| 70 6f 72 74 20 74 68 65 | 20 62 75 67 73 20 65 74 |port the| bugs et|
|000014a0| 63 2e 20 74 6f 20 6d 65 | 2e 0a 0a 53 6f 6f 6e 2c |c. to me|...Soon,|
|000014b0| 20 74 68 65 72 65 20 77 | 69 6c 6c 20 62 65 20 73 | there w|ill be s|
|000014c0| 6f 6d 65 20 6b 69 6e 64 | 20 6f 66 20 74 68 65 20 |ome kind| of the |
|000014d0| 63 6c 69 65 6e 74 20 66 | 6f 72 20 64 69 73 70 6c |client f|or displ|
|000014e0| 61 79 69 6e 67 20 55 50 | 53 20 73 74 61 74 69 73 |aying UP|S statis|
|000014f0| 74 69 63 73 2e 20 0a 0a | 49 20 68 6f 70 65 20 74 |tics. ..|I hope t|
|00001500| 68 61 74 20 74 68 69 73 | 20 73 6d 61 6c 6c 20 70 |hat this| small p|
|00001510| 69 65 63 65 20 6f 66 20 | 74 68 65 20 73 6f 66 74 |iece of |the soft|
|00001520| 77 61 72 65 20 77 69 6c | 6c 20 68 65 6c 70 20 79 |ware wil|l help y|
|00001530| 6f 75 2e 0a 0a 52 65 6d | 65 6d 62 65 72 3a 20 20 |ou...Rem|ember: |
|00001540| 20 20 20 44 4f 4e 27 54 | 20 50 41 4e 49 43 0a 0a | DON'T| PANIC..|
|00001550| 50 6c 65 61 73 65 2c 20 | 65 78 63 75 73 65 2d 6d |Please, |excuse-m|
|00001560| 65 20 61 20 76 65 72 79 | 20 6c 6f 6e 67 20 64 65 |e a very| long de|
|00001570| 76 65 6c 6f 70 6d 65 6e | 74 20 63 79 63 6c 65 20 |velopmen|t cycle |
|00001580| 62 65 74 77 65 65 6e 20 | 30 2e 31 20 41 6c 70 68 |between |0.1 Alph|
|00001590| 61 20 61 6e 64 20 30 2e | 35 0a 42 65 74 61 20 76 |a and 0.|5.Beta v|
|000015a0| 65 72 73 69 6f 6e 73 2e | 20 49 20 68 61 64 20 61 |ersions.| I had a|
|000015b0| 20 4c 4f 54 20 6f 66 20 | 77 6f 72 6b 20 61 6e 64 | LOT of |work and|
|000015c0| 20 6d 79 20 73 70 61 72 | 65 20 74 69 6d 65 20 77 | my spar|e time w|
|000015d0| 61 73 20 76 65 72 79 20 | 6c 69 6d 69 74 65 64 2e |as very |limited.|
|000015e0| 20 49 74 0a 73 65 65 6d | 73 20 74 68 61 74 20 6e | It.seem|s that n|
|000015f0| 6f 77 20 69 74 20 77 69 | 6c 6c 20 62 65 20 62 65 |ow it wi|ll be be|
|00001600| 74 74 65 72 20 61 6e 64 | 20 49 20 68 6f 70 65 20 |tter and| I hope |
|00001610| 74 68 61 74 20 74 68 65 | 20 64 65 76 65 6c 6f 70 |that the| develop|
|00001620| 6d 65 6e 74 20 77 69 6c | 6c 20 62 65 0a 6d 75 63 |ment wil|l be.muc|
|00001630| 68 20 66 61 73 74 65 72 | 2e 20 0a 0a 0a 50 61 76 |h faster|. ...Pav|
|00001640| 65 6c 20 4b 6f 72 65 6e | 73 6b 79 09 09 70 61 76 |el Koren|sky..pav|
|00001650| 65 6c 6b 40 64 61 74 6f | 72 33 2e 61 6e 65 74 2e |elk@dato|r3.anet.|
|00001660| 63 7a 0a 0a 38 2e 31 31 | 2e 31 39 39 35 0a 0a 0a |cz..8.11|.1995...|
|00001670| 50 2e 53 2e 20 49 20 68 | 61 76 65 20 61 62 73 6f |P.S. I h|ave abso|
|00001680| 6c 75 74 65 6c 79 20 6e | 6f 20 63 6f 6e 6e 65 63 |lutely n|o connec|
|00001690| 74 69 6f 6e 20 77 69 74 | 68 20 63 6f 6d 70 61 6e |tion wit|h compan|
|000016a0| 79 20 41 50 43 2e 20 49 | 20 64 69 64 6e 27 74 20 |y APC. I| didn't |
|000016b0| 73 69 67 6e 20 61 6e 79 | 0a 6e 6f 6e 2d 64 69 73 |sign any|.non-dis|
|000016c0| 63 6c 6f 73 75 72 65 20 | 61 67 72 65 65 6d 65 6e |closure |agreemen|
|000016d0| 74 20 61 6e 64 20 49 20 | 64 69 64 6e 27 74 20 67 |t and I |didn't g|
|000016e0| 6f 74 20 74 68 65 20 70 | 72 6f 74 6f 63 6f 6c 20 |ot the p|rotocol |
|000016f0| 64 65 73 63 72 69 70 74 | 69 6f 6e 20 61 6e 79 77 |descript|ion anyw|
|00001700| 68 65 72 65 2e 0a 54 68 | 65 20 77 68 6f 6c 65 20 |here..Th|e whole |
|00001710| 70 72 6f 74 6f 63 6f 6c | 20 64 65 63 6f 64 69 6e |protocol| decodin|
|00001720| 67 20 77 61 73 20 6d 61 | 64 65 20 77 69 74 68 20 |g was ma|de with |
|00001730| 61 20 73 6d 61 6c 6c 20 | 70 72 6f 67 72 61 6d 20 |a small |program |
|00001740| 66 6f 72 20 63 61 70 74 | 75 72 69 6e 67 0a 73 65 |for capt|uring.se|
|00001750| 72 69 61 6c 20 64 61 74 | 61 20 6f 6e 20 74 68 65 |rial dat|a on the|
|00001760| 20 6c 69 6e 65 2e 20 53 | 6f 2c 20 49 20 74 68 69 | line. S|o, I thi|
|00001770| 6e 6b 20 74 68 61 74 20 | 65 76 65 72 79 62 6f 64 |nk that |everybod|
|00001780| 79 20 63 61 6e 20 75 73 | 65 20 74 68 69 73 20 73 |y can us|e this s|
|00001790| 6f 66 74 77 61 72 65 0a | 77 69 74 68 6f 75 74 20 |oftware.|without |
|000017a0| 61 6e 79 20 70 72 6f 62 | 6c 65 6d 2e 0a 00 00 00 |any prob|lem.....|
|000017b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001800| 61 70 63 64 2e 63 00 00 | 00 00 00 00 00 00 00 00 |apcd.c..|........|
|00001810| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001820| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001830| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001840| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001850| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001860| 00 00 00 00 31 30 30 36 | 34 34 20 00 20 20 20 20 |....1006|44 . |
|00001870| 20 30 20 00 20 20 20 20 | 20 30 20 00 20 20 20 20 | 0 . | 0 . |
|00001880| 20 20 33 35 32 37 33 20 | 20 36 30 34 37 36 35 31 | 35273 | 6047651|
|00001890| 36 36 35 20 20 31 30 32 | 36 31 00 20 30 00 00 00 |665 102|61. 0...|
|000018a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000018b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000018c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000018d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000018e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000018f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001900| 00 75 73 74 61 72 20 20 | 00 72 6f 6f 74 00 00 00 |.ustar |.root...|
|00001910| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001920| 00 00 00 00 00 00 00 00 | 00 72 6f 6f 74 00 00 00 |........|.root...|
|00001930| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001940| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001950| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001960| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001970| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001980| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001990| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001a00| 2f 2a 0a 20 2a 20 61 70 | 63 64 2e 63 20 2d 20 44 |/*. * ap|cd.c - D|
|00001a10| 61 65 6d 6f 6e 20 66 6f | 72 20 74 68 65 20 41 50 |aemon fo|r the AP|
|00001a20| 43 20 53 6d 61 72 74 20 | 55 50 53 0a 20 2a 0a 20 |C Smart |UPS. *. |
|00001a30| 2a 20 43 6f 70 79 72 69 | 67 68 74 20 28 63 29 20 |* Copyri|ght (c) |
|00001a40| 31 39 39 35 20 50 61 76 | 65 6c 20 4b 6f 72 65 6e |1995 Pav|el Koren|
|00001a50| 73 6b 79 0a 20 2a 20 41 | 6c 6c 20 72 69 67 68 74 |sky. * A|ll right|
|00001a60| 73 20 72 65 73 65 72 76 | 65 64 2e 0a 20 2a 0a 20 |s reserv|ed.. *. |
|00001a70| 2a 20 50 65 72 6d 69 73 | 73 69 6f 6e 20 69 73 20 |* Permis|sion is |
|00001a80| 68 65 72 65 62 79 20 67 | 72 61 6e 74 65 64 2c 20 |hereby g|ranted, |
|00001a90| 77 69 74 68 6f 75 74 20 | 77 72 69 74 74 65 6e 20 |without |written |
|00001aa0| 61 67 72 65 65 6d 65 6e | 74 20 61 6e 64 20 77 69 |agreemen|t and wi|
|00001ab0| 74 68 6f 75 74 0a 20 2a | 20 6c 69 63 65 6e 73 65 |thout. *| license|
|00001ac0| 20 6f 72 20 72 6f 79 61 | 6c 74 79 20 66 65 65 73 | or roya|lty fees|
|00001ad0| 2c 20 74 6f 20 75 73 65 | 2c 20 63 6f 70 79 2c 20 |, to use|, copy, |
|00001ae0| 6d 6f 64 69 66 79 2c 20 | 61 6e 64 20 64 69 73 74 |modify, |and dist|
|00001af0| 72 69 62 75 74 65 20 74 | 68 69 73 0a 20 2a 20 73 |ribute t|his. * s|
|00001b00| 6f 66 74 77 61 72 65 20 | 61 6e 64 20 69 74 73 20 |oftware |and its |
|00001b10| 64 6f 63 75 6d 65 6e 74 | 61 74 69 6f 6e 20 66 6f |document|ation fo|
|00001b20| 72 20 61 6e 79 20 70 75 | 72 70 6f 73 65 2c 20 70 |r any pu|rpose, p|
|00001b30| 72 6f 76 69 64 65 64 20 | 74 68 61 74 20 74 68 65 |rovided |that the|
|00001b40| 0a 20 2a 20 61 62 6f 76 | 65 20 63 6f 70 79 72 69 |. * abov|e copyri|
|00001b50| 67 68 74 20 6e 6f 74 69 | 63 65 20 61 6e 64 20 74 |ght noti|ce and t|
|00001b60| 68 65 20 66 6f 6c 6c 6f | 77 69 6e 67 20 74 77 6f |he follo|wing two|
|00001b70| 20 70 61 72 61 67 72 61 | 70 68 73 20 61 70 70 65 | paragra|phs appe|
|00001b80| 61 72 20 69 6e 0a 20 2a | 20 61 6c 6c 20 63 6f 70 |ar in. *| all cop|
|00001b90| 69 65 73 20 6f 66 20 74 | 68 69 73 20 73 6f 66 74 |ies of t|his soft|
|00001ba0| 77 61 72 65 2e 0a 20 2a | 20 0a 20 2a 20 49 4e 20 |ware.. *| . * IN |
|00001bb0| 4e 4f 20 45 56 45 4e 54 | 20 53 48 41 4c 4c 20 50 |NO EVENT| SHALL P|
|00001bc0| 41 56 45 4c 20 4b 4f 52 | 45 4e 53 4b 59 20 42 45 |AVEL KOR|ENSKY BE|
|00001bd0| 20 4c 49 41 42 4c 45 20 | 54 4f 20 41 4e 59 20 50 | LIABLE |TO ANY P|
|00001be0| 41 52 54 59 20 46 4f 52 | 0a 20 2a 20 44 49 52 45 |ARTY FOR|. * DIRE|
|00001bf0| 43 54 2c 20 49 4e 44 49 | 52 45 43 54 2c 20 53 50 |CT, INDI|RECT, SP|
|00001c00| 45 43 49 41 4c 2c 20 49 | 4e 43 49 44 45 4e 54 41 |ECIAL, I|NCIDENTA|
|00001c10| 4c 2c 20 4f 52 20 43 4f | 4e 53 45 51 55 45 4e 54 |L, OR CO|NSEQUENT|
|00001c20| 49 41 4c 20 44 41 4d 41 | 47 45 53 20 41 52 49 53 |IAL DAMA|GES ARIS|
|00001c30| 49 4e 47 20 4f 55 54 0a | 20 2a 20 4f 46 20 54 48 |ING OUT.| * OF TH|
|00001c40| 45 20 55 53 45 20 4f 46 | 20 54 48 49 53 20 53 4f |E USE OF| THIS SO|
|00001c50| 46 54 57 41 52 45 20 41 | 4e 44 20 49 54 53 20 44 |FTWARE A|ND ITS D|
|00001c60| 4f 43 55 4d 45 4e 54 41 | 54 49 4f 4e 2c 20 45 56 |OCUMENTA|TION, EV|
|00001c70| 45 4e 20 49 46 20 50 41 | 56 45 4c 0a 20 2a 20 4b |EN IF PA|VEL. * K|
|00001c80| 4f 52 45 4e 53 4b 59 20 | 48 41 53 20 42 45 45 4e |ORENSKY |HAS BEEN|
|00001c90| 20 41 44 56 49 53 45 44 | 20 4f 46 20 54 48 45 20 | ADVISED| OF THE |
|00001ca0| 50 4f 53 53 49 42 49 4c | 49 54 59 20 4f 46 20 53 |POSSIBIL|ITY OF S|
|00001cb0| 55 43 48 20 44 41 4d 41 | 47 45 2e 0a 20 2a 0a 20 |UCH DAMA|GE.. *. |
|00001cc0| 2a 20 50 41 56 45 4c 20 | 4b 4f 52 45 4e 53 4b 59 |* PAVEL |KORENSKY|
|00001cd0| 20 53 50 45 43 49 46 49 | 43 41 4c 4c 59 20 44 49 | SPECIFI|CALLY DI|
|00001ce0| 53 43 4c 41 49 4d 53 20 | 41 4e 59 20 57 41 52 52 |SCLAIMS |ANY WARR|
|00001cf0| 41 4e 54 49 45 53 2c 0a | 20 2a 20 49 4e 43 4c 55 |ANTIES,.| * INCLU|
|00001d00| 44 49 4e 47 2c 20 42 55 | 54 20 4e 4f 54 20 4c 49 |DING, BU|T NOT LI|
|00001d10| 4d 49 54 45 44 20 54 4f | 2c 20 54 48 45 20 49 4d |MITED TO|, THE IM|
|00001d20| 50 4c 49 45 44 20 57 41 | 52 52 41 4e 54 49 45 53 |PLIED WA|RRANTIES|
|00001d30| 20 4f 46 20 4d 45 52 43 | 48 41 4e 54 41 42 49 4c | OF MERC|HANTABIL|
|00001d40| 49 54 59 0a 20 2a 20 41 | 4e 44 20 46 49 54 4e 45 |ITY. * A|ND FITNE|
|00001d50| 53 53 20 46 4f 52 20 41 | 20 50 41 52 54 49 43 55 |SS FOR A| PARTICU|
|00001d60| 4c 41 52 20 50 55 52 50 | 4f 53 45 2e 20 20 54 48 |LAR PURP|OSE. TH|
|00001d70| 45 20 53 4f 46 54 57 41 | 52 45 20 50 52 4f 56 49 |E SOFTWA|RE PROVI|
|00001d80| 44 45 44 20 48 45 52 45 | 55 4e 44 45 52 20 49 53 |DED HERE|UNDER IS|
|00001d90| 0a 20 2a 20 4f 4e 20 41 | 4e 20 22 41 53 20 49 53 |. * ON A|N "AS IS|
|00001da0| 22 20 42 41 53 49 53 2c | 20 41 4e 44 20 50 41 56 |" BASIS,| AND PAV|
|00001db0| 45 4c 20 4b 4f 52 45 4e | 53 4b 59 20 48 41 53 20 |EL KOREN|SKY HAS |
|00001dc0| 4e 4f 20 4f 42 4c 49 47 | 41 54 49 4f 4e 20 54 4f |NO OBLIG|ATION TO|
|00001dd0| 0a 20 2a 20 50 52 4f 56 | 49 44 45 20 4d 41 49 4e |. * PROV|IDE MAIN|
|00001de0| 54 45 4e 41 4e 43 45 2c | 20 53 55 50 50 4f 52 54 |TENANCE,| SUPPORT|
|00001df0| 2c 20 55 50 44 41 54 45 | 53 2c 20 45 4e 48 41 4e |, UPDATE|S, ENHAN|
|00001e00| 43 45 4d 45 4e 54 53 2c | 20 4f 52 20 4d 4f 44 49 |CEMENTS,| OR MODI|
|00001e10| 46 49 43 41 54 49 4f 4e | 53 2e 0a 20 2a 2f 0a 0a |FICATION|S.. */..|
|00001e20| 2f 2a 09 0a 20 2a 20 56 | 65 72 73 69 6f 6e 3a 0a |/*.. * V|ersion:.|
|00001e30| 20 2a 09 0a 20 2a 20 24 | 49 64 3a 20 61 70 63 64 | *.. * $|Id: apcd|
|00001e40| 2e 63 2c 76 20 31 2e 37 | 20 31 39 39 35 2f 31 31 |.c,v 1.7| 1995/11|
|00001e50| 2f 30 37 20 31 32 3a 34 | 30 3a 30 33 20 72 6f 6f |/07 12:4|0:03 roo|
|00001e60| 74 20 45 78 70 20 72 6f | 6f 74 20 24 0a 20 2a 09 |t Exp ro|ot $. *.|
|00001e70| 0a 20 2a 09 0a 20 2a 20 | 48 69 73 74 6f 72 79 3a |. *.. * |History:|
|00001e80| 0a 20 2a 09 0a 20 2a 20 | 24 4c 6f 67 3a 20 61 70 |. *.. * |$Log: ap|
|00001e90| 63 64 2e 63 2c 76 20 24 | 0a 20 2a 20 52 65 76 69 |cd.c,v $|. * Revi|
|00001ea0| 73 69 6f 6e 20 31 2e 37 | 20 20 31 39 39 35 2f 31 |sion 1.7| 1995/1|
|00001eb0| 31 2f 30 37 20 20 31 32 | 3a 34 30 3a 30 33 20 20 |1/07 12|:40:03 |
|00001ec0| 72 6f 6f 74 0a 20 2a 20 | 56 65 72 73 69 6f 6e 20 |root. * |Version |
|00001ed0| 30 2e 35 20 42 65 74 61 | 2c 20 75 70 6c 6f 61 64 |0.5 Beta|, upload|
|00001ee0| 65 64 20 74 6f 20 74 68 | 65 20 73 75 6e 73 69 74 |ed to th|e sunsit|
|00001ef0| 65 0a 20 2a 0a 20 2a 20 | 52 65 76 69 73 69 6f 6e |e. *. * |Revision|
|00001f00| 20 31 2e 36 20 20 31 39 | 39 35 2f 31 31 2f 30 31 | 1.6 19|95/11/01|
|00001f10| 20 20 31 35 3a 32 35 3a | 32 38 20 20 72 6f 6f 74 | 15:25:|28 root|
|00001f20| 0a 20 2a 20 53 65 76 65 | 72 61 6c 20 61 64 61 70 |. * Seve|ral adap|
|00001f30| 74 61 74 69 6f 6e 73 20 | 66 6f 72 20 63 6c 69 65 |tations |for clie|
|00001f40| 6e 2f 73 65 72 76 65 72 | 20 2d 20 4e 4f 54 20 46 |n/server| - NOT F|
|00001f50| 55 4e 43 54 49 4f 4e 41 | 4c 0a 20 2a 0a 20 2a 20 |UNCTIONA|L. *. * |
|00001f60| 52 65 76 69 73 69 6f 6e | 20 31 2e 35 20 20 31 39 |Revision| 1.5 19|
|00001f70| 39 35 2f 30 35 2f 32 33 | 20 20 30 37 3a 32 35 3a |95/05/23| 07:25:|
|00001f80| 30 38 20 20 72 6f 6f 74 | 0a 20 2a 20 46 69 72 73 |08 root|. * Firs|
|00001f90| 74 20 70 75 62 6c 69 63 | 20 41 4c 50 48 41 20 76 |t public| ALPHA v|
|00001fa0| 65 72 73 69 6f 6e 0a 20 | 2a 0a 20 2a 20 52 65 76 |ersion. |*. * Rev|
|00001fb0| 69 73 69 6f 6e 20 31 2e | 34 20 20 31 39 39 35 2f |ision 1.|4 1995/|
|00001fc0| 30 35 2f 32 33 20 20 30 | 31 3a 30 37 3a 34 30 20 |05/23 0|1:07:40 |
|00001fd0| 20 72 6f 6f 74 0a 20 2a | 20 50 61 72 61 6d 65 74 | root. *| Paramet|
|00001fe0| 65 72 73 20 61 72 65 20 | 6f 6e 20 74 68 65 20 63 |ers are |on the c|
|00001ff0| 6f 6d 6d 61 6e 64 20 6c | 69 6e 65 2c 20 69 6e 73 |ommand l|ine, ins|
|00002000| 74 65 61 64 20 6f 66 20 | 63 6f 6e 66 69 67 2e 68 |tead of |config.h|
|00002010| 20 66 69 6c 65 0a 20 2a | 0a 20 2a 20 52 65 76 69 | file. *|. * Revi|
|00002020| 73 69 6f 6e 20 31 2e 33 | 20 20 31 39 39 35 2f 30 |sion 1.3| 1995/0|
|00002030| 35 2f 32 33 20 20 30 30 | 3a 32 35 3a 34 33 20 20 |5/23 00|:25:43 |
|00002040| 72 6f 6f 74 0a 20 2a 20 | 53 79 73 74 65 6d 20 73 |root. * |System s|
|00002050| 68 75 74 64 6f 77 6e 20 | 77 69 74 68 20 55 50 53 |hutdown |with UPS|
|00002060| 20 73 77 69 74 63 68 20 | 6f 66 66 20 77 61 73 20 | switch |off was |
|00002070| 61 64 64 65 64 0a 20 2a | 0a 20 2a 20 52 65 76 69 |added. *|. * Revi|
|00002080| 73 69 6f 6e 20 31 2e 32 | 20 20 31 39 39 35 2f 30 |sion 1.2| 1995/0|
|00002090| 35 2f 32 31 20 20 32 31 | 3a 31 30 3a 35 36 20 20 |5/21 21|:10:56 |
|000020a0| 72 6f 6f 74 0a 20 2a 20 | 53 6f 6d 65 20 73 6d 61 |root. * |Some sma|
|000020b0| 6c 6c 20 66 69 78 65 73 | 0a 20 2a 0a 20 2a 20 52 |ll fixes|. *. * R|
|000020c0| 65 76 69 73 69 6f 6e 20 | 31 2e 31 20 20 31 39 39 |evision |1.1 199|
|000020d0| 35 2f 30 35 2f 32 31 20 | 20 32 30 3a 31 35 3a 31 |5/05/21 | 20:15:1|
|000020e0| 33 20 20 72 6f 6f 74 0a | 20 2a 20 49 6e 69 74 69 |3 root.| * Initi|
|000020f0| 61 6c 20 72 65 76 69 73 | 69 6f 6e 0a 20 2a 0a 20 |al revis|ion. *. |
|00002100| 2a 0a 20 2a 0a 20 2a 0a | 20 2a 09 0a 20 2a 2f 09 |*. *. *.| *.. */.|
|00002110| 0a 0a 0a 23 69 6e 63 6c | 75 64 65 20 22 61 70 63 |...#incl|ude "apc|
|00002120| 64 2e 68 22 0a 23 69 6e | 63 6c 75 64 65 20 22 76 |d.h".#in|clude "v|
|00002130| 65 72 73 69 6f 6e 2e 68 | 22 0a 0a 73 74 61 74 69 |ersion.h|"..stati|
|00002140| 63 20 63 68 61 72 20 2a | 76 65 72 73 69 6f 6e 3d |c char *|version=|
|00002150| 22 24 49 64 3a 20 61 70 | 63 64 2e 63 2c 76 20 31 |"$Id: ap|cd.c,v 1|
|00002160| 2e 37 20 31 39 39 35 2f | 31 31 2f 30 37 20 31 32 |.7 1995/|11/07 12|
|00002170| 3a 34 30 3a 30 33 20 72 | 6f 6f 74 20 45 78 70 20 |:40:03 r|oot Exp |
|00002180| 72 6f 6f 74 20 24 22 3b | 0a 0a 55 50 53 49 4e 46 |root $";|..UPSINF|
|00002190| 4f 09 09 6d 79 55 50 53 | 3b 0a 46 49 4c 45 09 09 |O..myUPS|;.FILE..|
|000021a0| 2a 76 61 6c 66 69 6c 65 | 3b 0a 46 49 4c 45 09 09 |*valfile|;.FILE..|
|000021b0| 2a 55 50 53 6c 6f 67 66 | 69 6c 65 3b 0a 69 6e 74 |*UPSlogf|ile;.int|
|000021c0| 09 09 6b 69 6c 6c 6d 65 | 2c 20 62 61 74 74 6c 6f |..killme|, battlo|
|000021d0| 77 3b 0a 69 6e 74 09 09 | 73 6c 61 76 65 20 3d 20 |w;.int..|slave = |
|000021e0| 30 3b 0a 69 6e 74 09 09 | 70 6f 72 74 3b 0a 69 6e |0;.int..|port;.in|
|000021f0| 74 09 09 73 6f 63 6b 65 | 74 66 64 2c 6e 65 77 73 |t..socke|tfd,news|
|00002200| 6f 63 6b 65 74 66 64 3b | 0a 63 68 61 72 09 09 2a |ocketfd;|.char..*|
|00002210| 75 73 65 5f 70 6f 72 74 | 3b 0a 63 68 61 72 09 09 |use_port|;.char..|
|00002220| 2a 6d 61 73 74 65 72 5f | 6e 61 6d 65 3b 0a 63 68 |*master_|name;.ch|
|00002230| 61 72 09 09 2a 6c 6f 67 | 66 69 6c 65 6e 61 6d 65 |ar..*log|filename|
|00002240| 3b 0a 63 68 61 72 09 09 | 2a 73 6c 61 76 65 73 5b |;.char..|*slaves[|
|00002250| 4d 41 58 5f 53 4c 41 56 | 45 53 5d 3b 0a 69 6e 74 |MAX_SLAV|ES];.int|
|00002260| 09 09 6e 75 6d 5f 73 6c | 61 76 65 73 20 3d 20 30 |..num_sl|aves = 0|
|00002270| 3b 0a 69 6e 74 09 09 70 | 6f 77 65 72 5f 74 69 6d |;.int..p|ower_tim|
|00002280| 65 72 20 3d 20 31 30 3b | 0a 69 6e 74 09 09 6c 6f |er = 10;|.int..lo|
|00002290| 67 5f 74 69 6d 65 72 20 | 3d 20 33 30 3b 0a 69 6e |g_timer |= 30;.in|
|000022a0| 74 09 09 6c 6f 67 5f 63 | 6f 75 6e 74 65 72 20 3d |t..log_c|ounter =|
|000022b0| 20 30 3b 0a 69 6e 74 09 | 09 61 6c 61 72 6d 75 70 | 0;.int.|.alarmup|
|000022c0| 2c 61 6c 61 72 6d 64 6f | 77 6e 2c 70 65 6e 64 69 |,alarmdo|wn,pendi|
|000022d0| 6e 67 2c 61 6c 61 72 6d | 63 6f 75 6e 74 2c 77 61 |ng,alarm|count,wa|
|000022e0| 73 6d 73 67 3b 0a 69 6e | 74 09 09 67 6f 74 74 69 |smsg;.in|t..gotti|
|000022f0| 6d 65 6f 75 74 20 3d 20 | 30 3b 0a 69 6e 74 09 09 |meout = |0;.int..|
|00002300| 6d 61 73 74 65 72 74 69 | 6d 65 6f 75 74 20 3d 20 |masterti|meout = |
|00002310| 30 3b 0a 69 6e 74 09 09 | 67 6f 74 70 6f 77 65 72 |0;.int..|gotpower|
|00002320| 6f 6b 20 3d 20 30 3b 0a | 69 6e 74 09 09 6d 61 73 |ok = 0;.|int..mas|
|00002330| 74 65 72 62 61 74 6c 6f | 77 20 3d 20 30 3b 0a 73 |terbatlo|w = 0;.s|
|00002340| 74 72 75 63 74 20 74 65 | 72 6d 69 6f 73 09 6f 6c |truct te|rmios.ol|
|00002350| 64 74 69 6f 2c 20 6e 65 | 77 74 69 6f 3b 0a 0a 0a |dtio, ne|wtio;...|
|00002360| 76 6f 69 64 20 6d 61 69 | 6e 28 69 6e 74 20 61 72 |void mai|n(int ar|
|00002370| 67 63 2c 20 63 68 61 72 | 20 2a 61 72 67 76 5b 5d |gc, char| *argv[]|
|00002380| 29 0a 7b 0a 09 63 68 61 | 72 20 09 6d 73 67 5b 31 |).{..cha|r .msg[1|
|00002390| 30 30 5d 3b 0a 09 69 6e | 74 09 69 3b 0a 09 74 69 |00];..in|t.i;..ti|
|000023a0| 6d 65 5f 74 09 63 61 73 | 3b 0a 0a 09 74 69 6d 65 |me_t.cas|;...time|
|000023b0| 28 26 63 61 73 29 3b 0a | 09 73 74 72 66 74 69 6d |(&cas);.|.strftim|
|000023c0| 65 28 6d 73 67 2c 31 30 | 30 2c 22 25 62 20 25 64 |e(msg,10|0,"%b %d|
|000023d0| 20 25 58 22 2c 6c 6f 63 | 61 6c 74 69 6d 65 28 26 | %X",loc|altime(&|
|000023e0| 63 61 73 29 29 3b 0a 09 | 70 72 69 6e 74 66 28 22 |cas));..|printf("|
|000023f0| 25 73 20 61 70 63 64 3a | 5c 6e 22 2c 6d 73 67 29 |%s apcd:|\n",msg)|
|00002400| 3b 0a 09 75 73 65 5f 70 | 6f 72 74 3d 63 61 6c 6c |;..use_p|ort=call|
|00002410| 6f 63 28 31 30 30 2c 73 | 69 7a 65 6f 66 28 63 68 |oc(100,s|izeof(ch|
|00002420| 61 72 29 29 3b 0a 09 6d | 61 73 74 65 72 5f 6e 61 |ar));..m|aster_na|
|00002430| 6d 65 3d 63 61 6c 6c 6f | 63 28 31 30 30 2c 73 69 |me=callo|c(100,si|
|00002440| 7a 65 6f 66 28 63 68 61 | 72 29 29 3b 0a 09 6c 6f |zeof(cha|r));..lo|
|00002450| 67 66 69 6c 65 6e 61 6d | 65 3d 63 61 6c 6c 6f 63 |gfilenam|e=calloc|
|00002460| 28 31 30 30 2c 73 69 7a | 65 6f 66 28 63 68 61 72 |(100,siz|eof(char|
|00002470| 29 29 3b 0a 09 66 6f 72 | 28 69 3d 30 3b 69 3c 3d |));..for|(i=0;i<=|
|00002480| 4d 41 58 5f 53 4c 41 56 | 45 53 3b 69 2b 2b 29 20 |MAX_SLAV|ES;i++) |
|00002490| 73 6c 61 76 65 73 5b 69 | 5d 3d 63 61 6c 6c 6f 63 |slaves[i|]=calloc|
|000024a0| 28 31 30 30 2c 73 69 7a | 65 6f 66 28 63 68 61 72 |(100,siz|eof(char|
|000024b0| 29 29 3b 20 0a 0a 20 20 | 09 69 66 28 70 61 72 73 |)); .. |.if(pars|
|000024c0| 65 5f 63 6f 6e 66 69 67 | 28 29 3d 3d 30 29 20 7b |e_config|()==0) {|
|000024d0| 0a 09 09 70 72 69 6e 74 | 66 28 22 5c 6e 43 6f 6e |...print|f("\nCon|
|000024e0| 66 69 67 75 72 61 74 69 | 6f 6e 20 66 69 6c 65 20 |figurati|on file |
|000024f0| 69 73 20 62 61 64 20 6f | 72 20 6d 69 73 73 69 6e |is bad o|r missin|
|00002500| 67 5c 6e 22 29 3b 0a 09 | 09 65 78 69 74 28 30 29 |g\n");..|.exit(0)|
|00002510| 3b 0a 09 7d 0a 09 69 66 | 28 73 6c 61 76 65 3d 3d |;..}..if|(slave==|
|00002520| 32 29 20 7b 0a 09 09 70 | 72 69 6e 74 66 28 22 41 |2) {...p|rintf("A|
|00002530| 50 43 20 53 6d 61 72 74 | 55 50 53 20 64 61 65 6d |PC Smart|UPS daem|
|00002540| 6f 6e 20 73 74 61 72 74 | 65 64 20 6f 6e 20 70 6f |on start|ed on po|
|00002550| 72 74 20 25 73 20 77 69 | 74 68 20 74 69 6d 65 6f |rt %s wi|th timeo|
|00002560| 75 74 20 25 64 20 6d 69 | 6e 73 2e 5c 6e 22 2c 75 |ut %d mi|ns.\n",u|
|00002570| 73 65 5f 70 6f 72 74 2c | 70 6f 77 65 72 5f 74 69 |se_port,|power_ti|
|00002580| 6d 65 72 29 3b 20 0a 09 | 09 70 72 69 6e 74 66 28 |mer); ..|.printf(|
|00002590| 22 41 50 43 20 53 6d 61 | 72 74 55 50 53 20 64 61 |"APC Sma|rtUPS da|
|000025a0| 65 6d 6f 6e 20 6c 6f 67 | 67 69 6e 67 20 69 6e 74 |emon log|ging int|
|000025b0| 65 72 76 61 6c 20 25 64 | 20 73 65 63 6f 6e 64 73 |erval %d| seconds|
|000025c0| 2e 5c 6e 22 2c 6c 6f 67 | 5f 74 69 6d 65 72 29 3b |.\n",log|_timer);|
|000025d0| 0a 09 09 66 6f 72 28 69 | 3d 30 3b 69 3c 6e 75 6d |...for(i|=0;i<num|
|000025e0| 5f 73 6c 61 76 65 73 3b | 69 2b 2b 29 20 70 72 69 |_slaves;|i++) pri|
|000025f0| 6e 74 66 28 22 53 6c 61 | 76 65 3a 20 25 73 5c 6e |ntf("Sla|ve: %s\n|
|00002600| 22 2c 73 6c 61 76 65 73 | 5b 69 5d 29 3b 0a 09 7d |",slaves|[i]);..}|
|00002610| 0a 09 65 6c 73 65 20 70 | 72 69 6e 74 66 28 22 41 |..else p|rintf("A|
|00002620| 50 43 20 53 6d 61 72 74 | 55 50 53 20 64 61 65 6d |PC Smart|UPS daem|
|00002630| 6f 6e 20 73 74 61 72 74 | 65 64 20 69 6e 20 73 6c |on start|ed in sl|
|00002640| 61 76 65 20 6d 6f 64 65 | 2e 20 4d 61 73 74 65 72 |ave mode|. Master|
|00002650| 20 69 73 20 25 73 5c 6e | 22 2c 6d 61 73 74 65 72 | is %s\n|",master|
|00002660| 5f 6e 61 6d 65 29 3b 0a | 09 6b 69 6c 6c 6d 65 20 |_name);.|.killme |
|00002670| 3d 20 30 3b 0a 09 2f 2a | 20 49 6e 69 74 69 61 6c |= 0;../*| Initial|
|00002680| 69 7a 65 20 73 79 73 74 | 65 6d 20 6c 6f 67 20 2a |ize syst|em log *|
|00002690| 2f 0a 09 6f 70 65 6e 6c | 6f 67 28 22 61 70 63 64 |/..openl|og("apcd|
|000026a0| 22 2c 20 4c 4f 47 5f 50 | 49 44 20 7c 20 4c 4f 47 |", LOG_P|ID | LOG|
|000026b0| 5f 4e 44 45 4c 41 59 20 | 7c 20 4c 4f 47 5f 50 45 |_NDELAY || LOG_PE|
|000026c0| 52 52 4f 52 2c 20 4c 4f | 47 5f 4c 4f 43 41 4c 32 |RROR, LO|G_LOCAL2|
|000026d0| 29 3b 0a 09 2f 2a 20 49 | 66 20 77 65 20 61 72 65 |);../* I|f we are|
|000026e0| 20 6d 61 73 74 65 72 2c | 20 77 65 20 61 72 65 20 | master,| we are |
|000026f0| 72 65 73 70 6f 6e 73 69 | 62 6c 65 20 66 6f 72 20 |responsi|ble for |
|00002700| 55 50 53 20 73 74 61 74 | 69 73 74 69 63 20 6c 6f |UPS stat|istic lo|
|00002710| 67 20 2a 2f 0a 09 69 66 | 28 73 6c 61 76 65 20 3d |g */..if|(slave =|
|00002720| 3d 20 32 29 20 7b 0a 09 | 09 55 50 53 6c 6f 67 66 |= 2) {..|.UPSlogf|
|00002730| 69 6c 65 3d 66 6f 70 65 | 6e 28 6c 6f 67 66 69 6c |ile=fope|n(logfil|
|00002740| 65 6e 61 6d 65 2c 22 61 | 22 29 3b 09 09 0a 09 7d |ename,"a|");....}|
|00002750| 0a 09 09 0a 09 2f 2a 20 | 42 65 63 6f 6d 65 20 64 |...../* |Become d|
|00002760| 61 65 6d 6f 6e 20 2a 2f | 0a 09 73 74 61 72 74 5f |aemon */|..start_|
|00002770| 64 61 65 6d 6f 6e 28 29 | 3b 0a 09 73 69 67 6e 61 |daemon()|;..signa|
|00002780| 6c 5f 73 65 74 75 70 28 | 29 3b 09 0a 09 73 79 73 |l_setup(|);...sys|
|00002790| 6c 6f 67 28 4c 4f 47 5f | 49 4e 46 4f 2c 22 53 74 |log(LOG_|INFO,"St|
|000027a0| 61 72 74 69 6e 67 20 61 | 70 63 64 20 76 65 72 73 |arting a|pcd vers|
|000027b0| 69 6f 6e 20 25 73 22 2c | 56 45 52 53 49 4f 4e 29 |ion %s",|VERSION)|
|000027c0| 3b 0a 09 69 66 28 73 6c | 61 76 65 3d 3d 32 29 20 |;..if(sl|ave==2) |
|000027d0| 7b 0a 09 09 73 79 73 6c | 6f 67 28 4c 4f 47 5f 49 |{...sysl|og(LOG_I|
|000027e0| 4e 46 4f 2c 22 4d 61 73 | 74 65 72 20 6d 6f 64 65 |NFO,"Mas|ter mode|
|000027f0| 20 70 6f 72 74 20 25 73 | 20 74 69 6d 65 6f 75 74 | port %s| timeout|
|00002800| 20 25 64 22 2c 75 73 65 | 5f 70 6f 72 74 2c 70 6f | %d",use|_port,po|
|00002810| 77 65 72 5f 74 69 6d 65 | 72 29 3b 0a 09 09 73 79 |wer_time|r);...sy|
|00002820| 73 6c 6f 67 28 4c 4f 47 | 5f 49 4e 46 4f 2c 22 55 |slog(LOG|_INFO,"U|
|00002830| 50 53 20 73 74 61 74 69 | 73 74 69 63 73 20 69 6e |PS stati|stics in|
|00002840| 20 25 73 22 2c 6c 6f 67 | 66 69 6c 65 6e 61 6d 65 | %s",log|filename|
|00002850| 29 3b 0a 09 09 66 6f 72 | 28 69 3d 30 3b 69 3c 6e |);...for|(i=0;i<n|
|00002860| 75 6d 5f 73 6c 61 76 65 | 73 3b 69 2b 2b 29 20 73 |um_slave|s;i++) s|
|00002870| 79 73 6c 6f 67 28 4c 4f | 47 5f 49 4e 46 4f 2c 22 |yslog(LO|G_INFO,"|
|00002880| 53 6c 61 76 65 3a 20 25 | 73 22 2c 73 6c 61 76 65 |Slave: %|s",slave|
|00002890| 73 5b 69 5d 29 3b 0a 09 | 7d 0a 09 69 66 28 73 6c |s[i]);..|}..if(sl|
|000028a0| 61 76 65 3d 3d 31 29 20 | 73 79 73 6c 6f 67 28 4c |ave==1) |syslog(L|
|000028b0| 4f 47 5f 49 4e 46 4f 2c | 22 53 6c 61 76 65 20 6d |OG_INFO,|"Slave m|
|000028c0| 6f 64 65 2e 20 4d 61 73 | 74 65 72 20 69 73 20 25 |ode. Mas|ter is %|
|000028d0| 73 22 2c 6d 61 73 74 65 | 72 5f 6e 61 6d 65 29 3b |s",maste|r_name);|
|000028e0| 0a 09 69 66 28 73 6c 61 | 76 65 3d 3d 32 29 20 73 |..if(sla|ve==2) s|
|000028f0| 65 74 75 70 5f 74 74 79 | 28 29 3b 0a 09 62 61 74 |etup_tty|();..bat|
|00002900| 74 6c 6f 77 3d 30 3b 0a | 09 61 6c 61 72 6d 75 70 |tlow=0;.|.alarmup|
|00002910| 3d 30 3b 0a 09 61 6c 61 | 72 6d 64 6f 77 6e 3d 30 |=0;..ala|rmdown=0|
|00002920| 3b 0a 09 70 65 6e 64 69 | 6e 67 3d 30 3b 0a 09 77 |;..pendi|ng=0;..w|
|00002930| 61 73 6d 73 67 3d 30 3b | 0a 09 2f 2a 20 4f 70 65 |asmsg=0;|../* Ope|
|00002940| 6e 20 73 6f 63 6b 65 74 | 20 66 6f 72 20 6e 65 74 |n socket| for net|
|00002950| 77 6f 72 6b 20 63 6f 6d | 6d 75 6e 69 63 61 74 69 |work com|municati|
|00002960| 6f 6e 20 2a 2f 0a 09 69 | 66 28 73 6c 61 76 65 20 |on */..i|f(slave |
|00002970| 3d 3d 20 31 29 20 7b 0a | 09 09 69 66 28 28 73 6f |== 1) {.|..if((so|
|00002980| 63 6b 65 74 66 64 20 3d | 20 73 6f 63 6b 65 74 28 |cketfd =| socket(|
|00002990| 41 46 5f 49 4e 45 54 2c | 20 53 4f 43 4b 5f 53 54 |AF_INET,| SOCK_ST|
|000029a0| 52 45 41 4d 2c 20 30 29 | 29 20 3c 20 30 29 20 7b |REAM, 0)|) < 0) {|
|000029b0| 0a 09 09 09 73 79 73 6c | 6f 67 28 4c 4f 47 5f 45 |....sysl|og(LOG_E|
|000029c0| 52 52 2c 22 43 61 6e 27 | 74 20 6f 70 65 6e 20 73 |RR,"Can'|t open s|
|000029d0| 74 72 65 61 6d 20 73 6f | 63 6b 65 74 22 29 3b 0a |tream so|cket");.|
|000029e0| 09 09 7d 0a 09 7d 0a 09 | 69 66 28 73 6c 61 76 65 |..}..}..|if(slave|
|000029f0| 20 3d 3d 20 32 29 20 7b | 0a 09 09 70 72 65 70 61 | == 2) {|...prepa|
|00002a00| 72 65 5f 6d 61 73 74 65 | 72 28 29 3b 0a 09 7d 0a |re_maste|r();..}.|
|00002a10| 09 69 66 28 73 6c 61 76 | 65 20 3d 3d 20 31 29 20 |.if(slav|e == 1) |
|00002a20| 70 72 65 70 61 72 65 5f | 73 6c 61 76 65 28 29 3b |prepare_|slave();|
|00002a30| 09 09 20 20 20 2f 2a 20 | 49 66 20 73 6c 61 76 65 |.. /* |If slave|
|00002a40| 2c 20 64 6f 20 73 6f 6d | 65 20 6e 65 74 77 6f 72 |, do som|e networ|
|00002a50| 6b 20 73 74 75 66 66 20 | 2a 2f 0a 09 69 66 28 73 |k stuff |*/..if(s|
|00002a60| 6c 61 76 65 20 3d 3d 20 | 31 29 20 7b 0a 09 09 77 |lave == |1) {...w|
|00002a70| 68 69 6c 65 28 21 6b 69 | 6c 6c 6d 65 29 20 7b 0a |hile(!ki|llme) {.|
|00002a80| 09 09 09 69 66 28 67 65 | 74 5f 6d 61 73 74 65 72 |...if(ge|t_master|
|00002a90| 5f 6d 65 73 73 61 67 65 | 28 6e 65 77 73 6f 63 6b |_message|(newsock|
|00002aa0| 65 74 66 64 29 20 3d 3d | 20 30 29 20 7b 0a 09 09 |etfd) ==| 0) {...|
|00002ab0| 09 09 69 66 28 67 6f 74 | 74 69 6d 65 6f 75 74 29 |..if(got|timeout)|
|00002ac0| 20 7b 0a 09 09 09 09 09 | 67 6f 74 74 69 6d 65 6f | {......|gottimeo|
|00002ad0| 75 74 20 3d 20 30 3b 0a | 09 09 09 09 09 73 79 73 |ut = 0;.|.....sys|
|00002ae0| 6c 6f 67 28 4c 4f 47 5f | 49 4e 46 4f 2c 22 50 6f |log(LOG_|INFO,"Po|
|00002af0| 77 65 72 20 66 61 69 6c | 75 72 65 2c 20 25 64 20 |wer fail|ure, %d |
|00002b00| 6d 69 6e 75 74 65 73 20 | 74 6f 20 73 68 75 74 64 |minutes |to shutd|
|00002b10| 6f 77 6e 22 2c 6d 61 73 | 74 65 72 74 69 6d 65 6f |own",mas|tertimeo|
|00002b20| 75 74 29 3b 0a 09 09 09 | 09 09 69 66 28 6d 61 73 |ut);....|..if(mas|
|00002b30| 74 65 72 74 69 6d 65 6f | 75 74 20 3d 3d 20 30 29 |tertimeo|ut == 0)|
|00002b40| 20 67 6f 5f 64 6f 77 6e | 28 29 3b 0a 09 09 09 09 | go_down|();.....|
|00002b50| 09 65 6c 73 65 20 7b 09 | 0a 09 09 09 09 09 09 73 |.else {.|.......s|
|00002b60| 70 72 69 6e 74 66 28 6d | 73 67 2c 22 5c 6e 5c 6e |printf(m|sg,"\n\n|
|00002b70| 41 50 43 20 44 61 65 6d | 6f 6e 3a 20 50 6f 77 65 |APC Daem|on: Powe|
|00002b80| 72 20 66 61 69 6c 75 72 | 65 2c 20 73 79 73 74 65 |r failur|e, syste|
|00002b90| 6d 20 77 69 6c 6c 20 67 | 6f 20 64 6f 77 6e 20 69 |m will g|o down i|
|00002ba0| 6e 20 25 64 20 6d 69 6e | 75 74 65 73 2e 5c 6e 22 |n %d min|utes.\n"|
|00002bb0| 2c 6d 61 73 74 65 72 74 | 69 6d 65 6f 75 74 29 3b |,mastert|imeout);|
|00002bc0| 20 0a 09 09 09 09 09 09 | 6d 65 73 61 6c 6c 28 6d | .......|mesall(m|
|00002bd0| 73 67 29 3b 0a 09 09 09 | 09 09 09 77 61 73 6d 73 |sg);....|...wasms|
|00002be0| 67 3d 31 3b 0a 09 09 09 | 09 09 7d 0a 09 09 09 09 |g=1;....|..}.....|
|00002bf0| 7d 0a 09 09 09 09 69 66 | 28 67 6f 74 70 6f 77 65 |}.....if|(gotpowe|
|00002c00| 72 6f 6b 29 20 7b 0a 09 | 09 09 09 09 67 6f 74 70 |rok) {..|....gotp|
|00002c10| 6f 77 65 72 6f 6b 20 3d | 20 30 3b 0a 09 09 09 09 |owerok =| 0;.....|
|00002c20| 09 73 79 73 6c 6f 67 28 | 4c 4f 47 5f 49 4e 46 4f |.syslog(|LOG_INFO|
|00002c30| 2c 22 50 6f 77 65 72 20 | 72 65 73 74 6f 72 65 64 |,"Power |restored|
|00002c40| 2c 20 73 68 75 74 64 6f | 77 6e 20 63 61 6e 63 65 |, shutdo|wn cance|
|00002c50| 6c 6c 65 64 22 29 3b 0a | 09 09 09 09 09 69 66 28 |lled");.|.....if(|
|00002c60| 77 61 73 6d 73 67 29 20 | 7b 0a 09 09 09 09 09 09 |wasmsg) |{.......|
|00002c70| 73 70 72 69 6e 74 66 28 | 6d 73 67 2c 22 5c 6e 5c |sprintf(|msg,"\n\|
|00002c80| 6e 41 50 43 20 44 61 65 | 6d 6f 6e 3a 20 50 6f 77 |nAPC Dae|mon: Pow|
|00002c90| 65 72 20 72 65 73 74 6f | 72 65 64 2c 20 73 68 75 |er resto|red, shu|
|00002ca0| 74 64 6f 77 6e 20 63 61 | 6e 63 65 6c 6c 65 64 2e |tdown ca|ncelled.|
|00002cb0| 5c 6e 22 29 3b 0a 09 09 | 09 09 09 09 6d 65 73 61 |\n");...|....mesa|
|00002cc0| 6c 6c 28 6d 73 67 29 3b | 0a 09 09 09 09 09 09 77 |ll(msg);|.......w|
|00002cd0| 61 73 6d 73 67 3d 30 3b | 0a 09 09 09 09 09 7d 0a |asmsg=0;|......}.|
|00002ce0| 09 09 09 09 7d 0a 09 09 | 09 09 69 66 28 6d 61 73 |....}...|..if(mas|
|00002cf0| 74 65 72 62 61 74 6c 6f | 77 29 20 67 6f 5f 64 6f |terbatlo|w) go_do|
|00002d00| 77 6e 5f 62 61 74 74 28 | 29 3b 0a 09 09 09 09 0a |wn_batt(|);......|
|00002d10| 09 09 09 7d 0a 09 09 7d | 0a 09 7d 0a 09 65 6c 73 |...}...}|..}..els|
|00002d20| 65 20 7b 09 0a 09 09 77 | 68 69 6c 65 28 21 6b 69 |e {....w|hile(!ki|
|00002d30| 6c 6c 6d 65 29 20 7b 0a | 09 09 09 66 69 6c 6c 55 |llme) {.|...fillU|
|00002d40| 50 53 28 70 6f 72 74 2c | 26 6d 79 55 50 53 29 3b |PS(port,|&myUPS);|
|00002d50| 20 0a 09 09 09 73 6c 65 | 65 70 28 31 29 3b 0a 09 | ....sle|ep(1);..|
|00002d60| 09 09 69 66 20 28 70 65 | 6e 64 69 6e 67 29 20 7b |..if (pe|nding) {|
|00002d70| 0a 09 09 09 09 61 6c 61 | 72 6d 63 6f 75 6e 74 2d |.....ala|rmcount-|
|00002d80| 2d 3b 0a 09 09 09 09 69 | 66 20 28 61 6c 61 72 6d |-;.....i|f (alarm|
|00002d90| 63 6f 75 6e 74 20 3d 3d | 20 30 29 20 7b 0a 09 09 |count ==| 0) {...|
|00002da0| 09 09 09 73 65 6e 64 5f | 74 6f 5f 73 6c 61 76 65 |...send_|to_slave|
|00002db0| 73 28 30 29 3b 0a 09 09 | 09 09 09 67 6f 5f 64 6f |s(0);...|...go_do|
|00002dc0| 77 6e 28 29 3b 0a 09 09 | 09 09 09 70 65 6e 64 69 |wn();...|...pendi|
|00002dd0| 6e 67 3d 30 3b 0a 09 09 | 09 09 7d 0a 09 09 09 09 |ng=0;...|..}.....|
|00002de0| 69 66 28 28 28 61 6c 61 | 72 6d 63 6f 75 6e 74 20 |if(((ala|rmcount |
|00002df0| 25 20 36 30 29 20 3d 3d | 20 30 29 20 26 26 20 28 |% 60) ==| 0) && (|
|00002e00| 61 6c 61 72 6d 63 6f 75 | 6e 74 20 21 3d 20 30 29 |alarmcou|nt != 0)|
|00002e10| 29 20 7b 0a 09 09 09 09 | 09 73 65 6e 64 5f 74 6f |) {.....|.send_to|
|00002e20| 5f 73 6c 61 76 65 73 28 | 61 6c 61 72 6d 63 6f 75 |_slaves(|alarmcou|
|00002e30| 6e 74 29 3b 0a 09 09 09 | 09 09 73 70 72 69 6e 74 |nt);....|..sprint|
|00002e40| 66 28 6d 73 67 2c 22 5c | 6e 5c 6e 41 50 43 20 44 |f(msg,"\|n\nAPC D|
|00002e50| 61 65 6d 6f 6e 3a 20 50 | 6f 77 65 72 20 66 61 69 |aemon: P|ower fai|
|00002e60| 6c 75 72 65 2c 20 73 79 | 73 74 65 6d 20 77 69 6c |lure, sy|stem wil|
|00002e70| 6c 20 67 6f 20 64 6f 77 | 6e 20 69 6e 20 25 64 20 |l go dow|n in %d |
|00002e80| 6d 69 6e 75 74 65 73 2e | 5c 6e 22 2c 61 6c 61 72 |minutes.|\n",alar|
|00002e90| 6d 63 6f 75 6e 74 2f 36 | 30 29 3b 0a 09 09 09 09 |mcount/6|0);.....|
|00002ea0| 09 6d 65 73 61 6c 6c 28 | 6d 73 67 29 3b 0a 09 09 |.mesall(|msg);...|
|00002eb0| 09 09 09 77 61 73 6d 73 | 67 3d 31 3b 0a 09 09 09 |...wasms|g=1;....|
|00002ec0| 09 7d 09 0a 09 09 09 7d | 0a 09 09 09 69 66 20 28 |.}.....}|....if (|
|00002ed0| 61 6c 61 72 6d 75 70 29 | 20 7b 0a 09 09 09 09 69 |alarmup)| {.....i|
|00002ee0| 66 28 21 70 65 6e 64 69 | 6e 67 29 20 7b 0a 09 09 |f(!pendi|ng) {...|
|00002ef0| 09 09 09 61 6c 61 72 6d | 63 6f 75 6e 74 3d 70 6f |...alarm|count=po|
|00002f00| 77 65 72 5f 74 69 6d 65 | 72 2a 36 30 3b 0a 09 09 |wer_time|r*60;...|
|00002f10| 09 09 09 70 65 6e 64 69 | 6e 67 3d 31 3b 0a 09 09 |...pendi|ng=1;...|
|00002f20| 09 09 7d 0a 09 09 09 09 | 61 6c 61 72 6d 75 70 3d |..}.....|alarmup=|
|00002f30| 30 3b 0a 09 09 09 7d 0a | 09 09 09 69 66 20 28 61 |0;....}.|...if (a|
|00002f40| 6c 61 72 6d 64 6f 77 6e | 29 20 7b 0a 09 09 09 09 |larmdown|) {.....|
|00002f50| 69 66 28 77 61 73 6d 73 | 67 29 20 7b 0a 09 09 09 |if(wasms|g) {....|
|00002f60| 09 09 73 65 6e 64 5f 74 | 6f 5f 73 6c 61 76 65 73 |..send_t|o_slaves|
|00002f70| 28 2d 31 29 3b 0a 09 09 | 09 09 09 73 70 72 69 6e |(-1);...|...sprin|
|00002f80| 74 66 28 6d 73 67 2c 22 | 5c 6e 5c 6e 41 50 43 20 |tf(msg,"|\n\nAPC |
|00002f90| 44 61 65 6d 6f 6e 3a 20 | 50 6f 77 65 72 20 72 65 |Daemon: |Power re|
|00002fa0| 73 74 6f 72 65 64 2c 20 | 73 68 75 74 64 6f 77 6e |stored, |shutdown|
|00002fb0| 20 63 61 6e 63 65 6c 6c | 65 64 5c 6e 22 29 3b 0a | cancell|ed\n");.|
|00002fc0| 09 09 09 09 09 6d 65 73 | 61 6c 6c 28 6d 73 67 29 |.....mes|all(msg)|
|00002fd0| 3b 0a 09 09 09 09 09 77 | 61 73 6d 73 67 3d 30 3b |;......w|asmsg=0;|
|00002fe0| 0a 09 09 09 09 7d 0a 09 | 09 09 09 61 6c 61 72 6d |.....}..|...alarm|
|00002ff0| 63 6f 75 6e 74 3d 30 3b | 0a 09 09 09 09 70 65 6e |count=0;|.....pen|
|00003000| 64 69 6e 67 3d 30 3b 0a | 09 09 09 09 61 6c 61 72 |ding=0;.|....alar|
|00003010| 6d 64 6f 77 6e 3d 30 3b | 0a 09 09 09 7d 0a 09 09 |mdown=0;|....}...|
|00003020| 09 69 66 20 28 62 61 74 | 74 6c 6f 77 29 20 67 6f |.if (bat|tlow) go|
|00003030| 5f 64 6f 77 6e 5f 62 61 | 74 74 28 29 3b 0a 09 09 |_down_ba|tt();...|
|00003040| 0a 09 09 7d 0a 09 7d 0a | 09 69 66 28 6b 69 6c 6c |...}..}.|.if(kill|
|00003050| 6d 65 20 3d 3d 20 31 29 | 20 7b 0a 09 09 73 79 73 |me == 1)| {...sys|
|00003060| 6c 6f 67 28 4c 4f 47 5f | 49 4e 46 4f 2c 22 45 6e |log(LOG_|INFO,"En|
|00003070| 64 69 6e 67 20 61 70 63 | 64 20 76 65 72 73 69 6f |ding apc|d versio|
|00003080| 6e 20 25 73 22 2c 56 45 | 52 53 49 4f 4e 29 3b 0a |n %s",VE|RSION);.|
|00003090| 09 09 69 66 28 73 6c 61 | 76 65 3d 3d 32 29 20 7b |..if(sla|ve==2) {|
|000030a0| 0a 09 09 09 74 63 73 65 | 74 61 74 74 72 28 70 6f |....tcse|tattr(po|
|000030b0| 72 74 2c 54 43 53 41 4e | 4f 57 2c 26 6f 6c 64 74 |rt,TCSAN|OW,&oldt|
|000030c0| 69 6f 29 3b 0a 09 09 09 | 63 6c 6f 73 65 28 70 6f |io);....|close(po|
|000030d0| 72 74 29 3b 0a 09 09 7d | 0a 09 09 69 66 20 28 73 |rt);...}|...if (s|
|000030e0| 6c 61 76 65 3d 3d 31 29 | 20 63 6c 6f 73 65 28 73 |lave==1)| close(s|
|000030f0| 6f 63 6b 65 74 66 64 29 | 3b 0a 09 09 69 66 20 28 |ocketfd)|;...if (|
|00003100| 73 6c 61 76 65 3d 3d 32 | 29 20 7b 0a 09 09 09 66 |slave==2|) {....f|
|00003110| 6f 72 28 69 3d 30 3b 69 | 3c 6e 75 6d 5f 73 6c 61 |or(i=0;i|<num_sla|
|00003120| 76 65 73 3b 69 2b 2b 29 | 20 63 6c 6f 73 65 28 73 |ves;i++)| close(s|
|00003130| 6c 61 76 65 73 6f 63 6b | 65 74 5b 69 5d 29 3b 0a |lavesock|et[i]);.|
|00003140| 09 09 7d 0a 09 09 63 6c | 6f 73 65 6c 6f 67 28 29 |..}...cl|oselog()|
|00003150| 3b 0a 09 09 69 66 20 28 | 73 6c 61 76 65 20 3d 3d |;...if (|slave ==|
|00003160| 20 31 29 20 66 63 6c 6f | 73 65 28 55 50 53 6c 6f | 1) fclo|se(UPSlo|
|00003170| 67 66 69 6c 65 29 3b 0a | 09 7d 0a 09 69 66 28 6b |gfile);.|.}..if(k|
|00003180| 69 6c 6c 6d 65 20 3d 3d | 20 32 29 20 7b 0a 09 09 |illme ==| 2) {...|
|00003190| 69 66 28 73 6c 61 76 65 | 3d 3d 32 29 20 73 65 6e |if(slave|==2) sen|
|000031a0| 64 5f 74 6f 5f 73 6c 61 | 76 65 73 28 2d 32 29 3b |d_to_sla|ves(-2);|
|000031b0| 0a 09 09 6d 65 73 61 6c | 6c 28 22 41 50 43 20 44 |...mesal|l("APC D|
|000031c0| 61 65 6d 6f 6e 3a 20 53 | 59 53 54 45 4d 20 49 53 |aemon: S|YSTEM IS|
|000031d0| 20 47 4f 49 4e 47 20 44 | 4f 57 4e 20 4e 4f 57 20 | GOING D|OWN NOW |
|000031e0| 21 21 21 22 29 3b 0a 09 | 09 69 66 20 28 73 6c 61 |!!!");..|.if (sla|
|000031f0| 76 65 3d 3d 31 29 20 63 | 6c 6f 73 65 28 73 6f 63 |ve==1) c|lose(soc|
|00003200| 6b 65 74 66 64 29 3b 0a | 09 09 69 66 20 28 73 6c |ketfd);.|..if (sl|
|00003210| 61 76 65 3d 3d 32 29 20 | 7b 0a 09 09 09 66 6f 72 |ave==2) |{....for|
|00003220| 28 69 3d 30 3b 69 3c 6e | 75 6d 5f 73 6c 61 76 65 |(i=0;i<n|um_slave|
|00003230| 73 3b 69 2b 2b 29 20 63 | 6c 6f 73 65 28 73 6c 61 |s;i++) c|lose(sla|
|00003240| 76 65 73 6f 63 6b 65 74 | 5b 69 5d 29 3b 0a 09 09 |vesocket|[i]);...|
|00003250| 7d 0a 09 09 64 6f 5f 73 | 68 75 74 64 6f 77 6e 28 |}...do_s|hutdown(|
|00003260| 29 3b 0a 09 7d 0a 7d 3b | 0a 0a 0a 2f 2a 20 53 65 |);..}.};|.../* Se|
|00003270| 74 75 70 20 6f 66 20 74 | 68 65 20 63 6f 6d 6d 75 |tup of t|he commu|
|00003280| 6e 69 63 61 74 69 6f 6e | 20 70 6f 72 74 2e 20 48 |nication| port. H|
|00003290| 6f 70 65 20 69 74 20 77 | 69 6c 6c 20 77 6f 72 6b |ope it w|ill work|
|000032a0| 0a 20 2a 2f 0a 0a 76 6f | 69 64 20 73 65 74 75 70 |. */..vo|id setup|
|000032b0| 5f 74 74 79 28 29 0a 7b | 0a 09 70 6f 72 74 3d 6f |_tty().{|..port=o|
|000032c0| 70 65 6e 28 75 73 65 5f | 70 6f 72 74 2c 4f 5f 52 |pen(use_|port,O_R|
|000032d0| 44 57 52 20 7c 20 4f 5f | 4e 4f 43 54 54 59 29 3b |DWR | O_|NOCTTY);|
|000032e0| 0a 09 69 66 20 28 70 6f | 72 74 20 3c 20 30 29 20 |..if (po|rt < 0) |
|000032f0| 7b 0a 09 09 73 79 73 6c | 6f 67 28 4c 4f 47 5f 45 |{...sysl|og(LOG_E|
|00003300| 52 52 2c 22 55 6e 61 62 | 6c 65 20 74 6f 20 6f 70 |RR,"Unab|le to op|
|00003310| 65 6e 20 70 6f 72 74 20 | 25 73 22 2c 75 73 65 5f |en port |%s",use_|
|00003320| 70 6f 72 74 29 3b 0a 09 | 09 65 78 69 74 28 2d 31 |port);..|.exit(-1|
|00003330| 29 3b 0a 09 7d 0a 09 74 | 63 67 65 74 61 74 74 72 |);..}..t|cgetattr|
|00003340| 28 70 6f 72 74 2c 26 6f | 6c 64 74 69 6f 29 3b 20 |(port,&o|ldtio); |
|00003350| 2f 2a 20 53 61 76 65 20 | 6f 6c 64 20 73 65 74 74 |/* Save |old sett|
|00003360| 69 6e 67 73 20 2a 2f 0a | 09 6e 65 77 74 69 6f 2e |ings */.|.newtio.|
|00003370| 63 5f 63 66 6c 61 67 20 | 3d 20 44 45 46 41 55 4c |c_cflag |= DEFAUL|
|00003380| 54 5f 53 50 45 45 44 20 | 7c 20 43 53 38 20 7c 20 |T_SPEED || CS8 | |
|00003390| 43 4c 4f 43 41 4c 20 7c | 20 43 52 45 41 44 3b 0a |CLOCAL || CREAD;.|
|000033a0| 09 6e 65 77 74 69 6f 2e | 63 5f 69 66 6c 61 67 20 |.newtio.|c_iflag |
|000033b0| 3d 20 49 47 4e 50 41 52 | 3b 20 2f 2a 20 49 67 6e |= IGNPAR|; /* Ign|
|000033c0| 6f 72 65 20 65 72 72 6f | 72 73 2c 20 72 61 77 20 |ore erro|rs, raw |
|000033d0| 69 6e 70 75 74 20 2a 2f | 0a 09 6e 65 77 74 69 6f |input */|..newtio|
|000033e0| 2e 63 5f 6f 66 6c 61 67 | 20 3d 20 30 3b 20 2f 2a |.c_oflag| = 0; /*|
|000033f0| 20 52 61 77 20 6f 75 74 | 70 75 74 20 2a 2f 0a 09 | Raw out|put */..|
|00003400| 6e 65 77 74 69 6f 2e 63 | 5f 6c 66 6c 61 67 20 3d |newtio.c|_lflag =|
|00003410| 20 30 3b 20 2f 2a 20 4e | 6f 20 6c 6f 63 61 6c 20 | 0; /* N|o local |
|00003420| 65 63 68 6f 20 2a 2f 09 | 0a 09 6e 65 77 74 69 6f |echo */.|..newtio|
|00003430| 2e 63 5f 63 63 5b 56 4d | 49 4e 5d 20 3d 20 31 3b |.c_cc[VM|IN] = 1;|
|00003440| 0a 09 6e 65 77 74 69 6f | 2e 63 5f 63 63 5b 56 54 |..newtio|.c_cc[VT|
|00003450| 49 4d 45 5d 20 3d 20 30 | 3b 0a 09 74 63 66 6c 75 |IME] = 0|;..tcflu|
|00003460| 73 68 28 70 6f 72 74 2c | 54 43 49 46 4c 55 53 48 |sh(port,|TCIFLUSH|
|00003470| 29 3b 0a 09 74 63 73 65 | 74 61 74 74 72 28 70 6f |);..tcse|tattr(po|
|00003480| 72 74 2c 54 43 53 41 4e | 4f 57 2c 26 6e 65 77 74 |rt,TCSAN|OW,&newt|
|00003490| 69 6f 29 3b 0a 7d 0a 0a | 0a 2f 2a 20 42 65 63 6f |io);.}..|./* Beco|
|000034a0| 6d 65 20 61 20 64 61 65 | 6d 6f 6e 2c 20 72 65 6c |me a dae|mon, rel|
|000034b0| 65 61 73 65 20 73 74 64 | 69 6e 2c 20 73 74 64 6f |ease std|in, stdo|
|000034c0| 75 74 20 65 74 63 2e 0a | 20 2a 2f 0a 0a 76 6f 69 |ut etc..| */..voi|
|000034d0| 64 20 73 74 61 72 74 5f | 64 61 65 6d 6f 6e 28 29 |d start_|daemon()|
|000034e0| 0a 7b 0a 09 69 6e 74 09 | 70 69 64 3b 0a 09 0a 09 |.{..int.|pid;....|
|000034f0| 63 6c 6f 73 65 28 30 29 | 3b 0a 09 63 6c 6f 73 65 |close(0)|;..close|
|00003500| 28 31 29 3b 0a 09 63 6c | 6f 73 65 28 32 29 3b 0a |(1);..cl|ose(2);.|
|00003510| 09 69 66 20 28 28 70 69 | 64 3d 66 6f 72 6b 28 29 |.if ((pi|d=fork()|
|00003520| 29 20 3c 20 30 29 20 7b | 0a 09 09 73 79 73 6c 6f |) < 0) {|...syslo|
|00003530| 67 28 4c 4f 47 5f 45 52 | 52 2c 22 55 6e 61 62 6c |g(LOG_ER|R,"Unabl|
|00003540| 65 20 74 6f 20 66 6f 72 | 6b 22 29 3b 0a 09 09 65 |e to for|k");...e|
|00003550| 78 69 74 28 31 29 3b 0a | 09 7d 0a 09 69 66 20 28 |xit(1);.|.}..if (|
|00003560| 70 69 64 20 21 3d 20 30 | 29 20 65 78 69 74 28 30 |pid != 0|) exit(0|
|00003570| 29 3b 0a 7d 3b 0a 0a 0a | 2f 2a 20 53 65 74 75 70 |);.};...|/* Setup|
|00003580| 20 76 61 72 69 6f 75 73 | 20 73 69 67 6e 61 6c 20 | various| signal |
|00003590| 68 61 6e 64 6c 65 72 73 | 2e 20 43 6f 64 65 20 68 |handlers|. Code h|
|000035a0| 65 72 65 20 69 73 20 61 | 64 61 70 74 65 64 20 66 |ere is a|dapted f|
|000035b0| 72 6f 6d 20 64 69 61 6c | 64 20 70 72 6f 67 72 61 |rom dial|d progra|
|000035c0| 6d 0a 20 2a 20 77 68 69 | 63 68 20 69 73 20 28 63 |m. * whi|ch is (c|
|000035d0| 29 20 45 72 69 63 20 53 | 63 68 65 6e 6b 2e 0a 20 |) Eric S|chenk.. |
|000035e0| 2a 2f 0a 0a 76 6f 69 64 | 20 73 69 67 6e 61 6c 5f |*/..void| signal_|
|000035f0| 73 65 74 75 70 28 29 0a | 7b 0a 09 73 69 67 73 65 |setup().|{..sigse|
|00003600| 74 5f 74 09 73 69 67 6d | 61 73 6b 3b 0a 09 73 74 |t_t.sigm|ask;..st|
|00003610| 72 75 63 74 09 73 69 67 | 61 63 74 69 6f 6e 20 73 |ruct.sig|action s|
|00003620| 61 3b 0a 09 0a 09 73 69 | 67 65 6d 70 74 79 73 65 |a;....si|gemptyse|
|00003630| 74 28 26 73 69 67 6d 61 | 73 6b 29 3b 0a 09 73 69 |t(&sigma|sk);..si|
|00003640| 67 61 64 64 73 65 74 28 | 26 73 69 67 6d 61 73 6b |gaddset(|&sigmask|
|00003650| 2c 20 53 49 47 49 4e 54 | 29 3b 20 2f 2a 20 54 65 |, SIGINT|); /* Te|
|00003660| 72 6d 69 6e 61 74 69 6f | 6e 20 72 65 71 75 65 73 |rminatio|n reques|
|00003670| 74 65 64 20 2a 2f 0a 09 | 73 69 67 61 64 64 73 65 |ted */..|sigaddse|
|00003680| 74 28 26 73 69 67 6d 61 | 73 6b 2c 20 53 49 47 54 |t(&sigma|sk, SIGT|
|00003690| 45 52 4d 29 3b 20 2f 2a | 20 54 65 72 6d 69 6e 61 |ERM); /*| Termina|
|000036a0| 74 69 6f 6e 20 72 65 71 | 75 65 73 74 65 64 20 2a |tion req|uested *|
|000036b0| 2f 0a 09 69 66 28 73 6c | 61 76 65 3d 3d 32 29 20 |/..if(sl|ave==2) |
|000036c0| 73 69 67 61 64 64 73 65 | 74 28 26 73 69 67 6d 61 |sigaddse|t(&sigma|
|000036d0| 73 6b 2c 20 53 49 47 55 | 53 52 31 29 3b 20 2f 2a |sk, SIGU|SR1); /*|
|000036e0| 20 44 75 6d 70 20 55 50 | 53 20 73 74 61 74 73 20 | Dump UP|S stats |
|000036f0| 2a 2f 09 0a 09 0a 23 64 | 65 66 69 6e 65 20 53 49 |*/....#d|efine SI|
|00003700| 47 4e 41 4c 28 73 2c 68 | 61 6e 64 6c 65 72 29 20 |GNAL(s,h|andler) |
|00003710| 7b 20 5c 0a 09 09 73 61 | 2e 73 61 5f 68 61 6e 64 |{ \...sa|.sa_hand|
|00003720| 6c 65 72 20 3d 20 68 61 | 6e 64 6c 65 72 3b 20 5c |ler = ha|ndler; \|
|00003730| 0a 09 09 69 66 20 28 73 | 69 67 61 63 74 69 6f 6e |...if (s|igaction|
|00003740| 28 73 2c 20 26 73 61 2c | 20 4e 55 4c 4c 29 20 3c |(s, &sa,| NULL) <|
|00003750| 20 30 29 20 7b 20 5c 0a | 09 09 09 73 79 73 6c 6f | 0) { \.|...syslo|
|00003760| 67 28 4c 4f 47 5f 45 52 | 52 2c 20 22 73 69 67 61 |g(LOG_ER|R, "siga|
|00003770| 63 74 69 6f 6e 28 25 64 | 29 20 66 61 69 6c 65 64 |ction(%d|) failed|
|00003780| 20 22 2c 20 73 29 3b 20 | 5c 0a 09 09 09 65 78 69 | ", s); |\....exi|
|00003790| 74 28 31 29 3b 20 5c 0a | 09 09 7d 20 5c 0a 09 7d |t(1); \.|..} \..}|
|000037a0| 0a 0a 09 73 61 2e 73 61 | 5f 6d 61 73 6b 20 3d 20 |...sa.sa|_mask = |
|000037b0| 73 69 67 6d 61 73 6b 3b | 0a 09 73 61 2e 73 61 5f |sigmask;|..sa.sa_|
|000037c0| 66 6c 61 67 73 20 3d 20 | 30 3b 0a 09 53 49 47 4e |flags = |0;..SIGN|
|000037d0| 41 4c 28 53 49 47 49 4e | 54 2c 73 69 67 5f 69 6e |AL(SIGIN|T,sig_in|
|000037e0| 74 72 29 3b 0a 09 53 49 | 47 4e 41 4c 28 53 49 47 |tr);..SI|GNAL(SIG|
|000037f0| 54 45 52 4d 2c 73 69 67 | 5f 74 65 72 6d 29 3b 0a |TERM,sig|_term);.|
|00003800| 09 69 66 28 73 6c 61 76 | 65 3d 3d 32 29 20 53 49 |.if(slav|e==2) SI|
|00003810| 47 4e 41 4c 28 53 49 47 | 55 53 52 31 2c 64 75 6d |GNAL(SIG|USR1,dum|
|00003820| 70 5f 73 74 61 74 75 73 | 29 3b 0a 0a 7d 0a 0a 76 |p_status|);..}..v|
|00003830| 6f 69 64 20 73 69 67 5f | 69 6e 74 72 28 69 6e 74 |oid sig_|intr(int|
|00003840| 20 73 69 67 29 0a 7b 0a | 09 73 79 73 6c 6f 67 28 | sig).{.|.syslog(|
|00003850| 4c 4f 47 5f 49 4e 46 4f | 2c 22 53 49 47 49 4e 54 |LOG_INFO|,"SIGINT|
|00003860| 52 20 54 65 72 6d 69 6e | 61 74 69 6f 6e 20 72 65 |R Termin|ation re|
|00003870| 71 75 65 73 74 65 64 22 | 29 3b 0a 09 6b 69 6c 6c |quested"|);..kill|
|00003880| 6d 65 20 3d 20 31 3b 0a | 7d 09 0a 20 0a 76 6f 69 |me = 1;.|}.. .voi|
|00003890| 64 20 73 69 67 5f 74 65 | 72 6d 28 69 6e 74 20 73 |d sig_te|rm(int s|
|000038a0| 69 67 29 0a 7b 0a 09 73 | 79 73 6c 6f 67 28 4c 4f |ig).{..s|yslog(LO|
|000038b0| 47 5f 49 4e 46 4f 2c 22 | 53 49 47 54 45 52 4d 20 |G_INFO,"|SIGTERM |
|000038c0| 54 65 72 6d 69 6e 61 74 | 69 6f 6e 20 72 65 71 75 |Terminat|ion requ|
|000038d0| 65 73 74 65 64 22 29 3b | 0a 09 6b 69 6c 6c 6d 65 |ested");|..killme|
|000038e0| 3d 31 3b 0a 7d 09 0a 0a | 76 6f 69 64 20 64 75 6d |=1;.}...|void dum|
|000038f0| 70 5f 73 74 61 74 75 73 | 28 69 6e 74 20 73 69 67 |p_status|(int sig|
|00003900| 29 0a 7b 0a 09 76 61 6c | 66 69 6c 65 3d 66 6f 70 |).{..val|file=fop|
|00003910| 65 6e 28 22 2f 74 6d 70 | 2f 75 70 73 73 74 61 74 |en("/tmp|/upsstat|
|00003920| 22 2c 22 77 22 29 3b 0a | 09 66 70 72 69 6e 74 66 |","w");.|.fprintf|
|00003930| 28 76 61 6c 66 69 6c 65 | 2c 22 55 4c 49 4e 45 3a |(valfile|,"ULINE:|
|00003940| 25 2e 31 66 5c 6e 22 2c | 6d 79 55 50 53 2e 4c 69 |%.1f\n",|myUPS.Li|
|00003950| 6e 65 56 6f 6c 74 61 67 | 65 29 3b 0a 09 66 70 72 |neVoltag|e);..fpr|
|00003960| 69 6e 74 66 28 76 61 6c | 66 69 6c 65 2c 22 4d 4c |intf(val|file,"ML|
|00003970| 49 4e 45 3a 25 2e 31 66 | 5c 6e 22 2c 6d 79 55 50 |INE:%.1f|\n",myUP|
|00003980| 53 2e 4c 69 6e 65 4d 61 | 78 29 3b 0a 09 66 70 72 |S.LineMa|x);..fpr|
|00003990| 69 6e 74 66 28 76 61 6c | 66 69 6c 65 2c 22 4e 4c |intf(val|file,"NL|
|000039a0| 49 4e 45 3a 25 2e 31 66 | 5c 6e 22 2c 6d 79 55 50 |INE:%.1f|\n",myUP|
|000039b0| 53 2e 4c 69 6e 65 4d 69 | 6e 29 3b 0a 09 66 70 72 |S.LineMi|n);..fpr|
|000039c0| 69 6e 74 66 28 76 61 6c | 66 69 6c 65 2c 22 46 4c |intf(val|file,"FL|
|000039d0| 49 4e 45 3a 25 2e 31 66 | 5c 6e 22 2c 6d 79 55 50 |INE:%.1f|\n",myUP|
|000039e0| 53 2e 4c 69 6e 65 46 72 | 65 71 29 3b 0a 09 66 70 |S.LineFr|eq);..fp|
|000039f0| 72 69 6e 74 66 28 76 61 | 6c 66 69 6c 65 2c 22 56 |rintf(va|lfile,"V|
|00003a00| 4f 55 54 50 3a 25 2e 31 | 66 5c 6e 22 2c 6d 79 55 |OUTP:%.1|f\n",myU|
|00003a10| 50 53 2e 4f 75 74 70 75 | 74 56 6f 6c 74 61 67 65 |PS.Outpu|tVoltage|
|00003a20| 29 3b 0a 09 66 70 72 69 | 6e 74 66 28 76 61 6c 66 |);..fpri|ntf(valf|
|00003a30| 69 6c 65 2c 22 4c 4f 55 | 54 50 3a 25 2e 31 66 5c |ile,"LOU|TP:%.1f\|
|00003a40| 6e 22 2c 6d 79 55 50 53 | 2e 55 50 53 4c 6f 61 64 |n",myUPS|.UPSLoad|
|00003a50| 29 3b 0a 09 66 70 72 69 | 6e 74 66 28 76 61 6c 66 |);..fpri|ntf(valf|
|00003a60| 69 6c 65 2c 22 42 4f 55 | 54 50 3a 25 2e 31 66 5c |ile,"BOU|TP:%.1f\|
|00003a70| 6e 22 2c 6d 79 55 50 53 | 2e 42 61 74 74 56 6f 6c |n",myUPS|.BattVol|
|00003a80| 74 61 67 65 29 3b 0a 09 | 66 70 72 69 6e 74 66 28 |tage);..|fprintf(|
|00003a90| 76 61 6c 66 69 6c 65 2c | 22 42 43 48 41 52 3a 25 |valfile,|"BCHAR:%|
|00003aa0| 2e 31 66 5c 6e 22 2c 6d | 79 55 50 53 2e 42 61 74 |.1f\n",m|yUPS.Bat|
|00003ab0| 4c 6f 61 64 29 3b 0a 09 | 66 70 72 69 6e 74 66 28 |Load);..|fprintf(|
|00003ac0| 76 61 6c 66 69 6c 65 2c | 22 42 46 41 49 4c 3a 25 |valfile,|"BFAIL:%|
|00003ad0| 64 5c 6e 22 2c 62 61 74 | 74 6c 6f 77 29 3b 0a 09 |d\n",bat|tlow);..|
|00003ae0| 66 70 72 69 6e 74 66 28 | 76 61 6c 66 69 6c 65 2c |fprintf(|valfile,|
|00003af0| 22 55 54 45 4d 50 3a 25 | 2e 31 66 5c 6e 22 2c 6d |"UTEMP:%|.1f\n",m|
|00003b00| 79 55 50 53 2e 55 50 53 | 54 65 6d 70 29 3b 0a 09 |yUPS.UPS|Temp);..|
|00003b10| 69 66 28 70 65 6e 64 69 | 6e 67 29 20 7b 0a 09 09 |if(pendi|ng) {...|
|00003b20| 66 70 72 69 6e 74 66 28 | 76 61 6c 66 69 6c 65 2c |fprintf(|valfile,|
|00003b30| 22 55 42 41 54 54 3a 31 | 5c 6e 22 29 3b 0a 09 09 |"UBATT:1|\n");...|
|00003b40| 66 70 72 69 6e 74 66 28 | 76 61 6c 66 69 6c 65 2c |fprintf(|valfile,|
|00003b50| 22 55 50 4f 57 52 3a 30 | 5c 6e 22 29 3b 0a 09 7d |"UPOWR:0|\n");..}|
|00003b60| 0a 09 65 6c 73 65 20 7b | 0a 09 09 66 70 72 69 6e |..else {|...fprin|
|00003b70| 74 66 28 76 61 6c 66 69 | 6c 65 2c 22 55 42 41 54 |tf(valfi|le,"UBAT|
|00003b80| 54 3a 30 5c 6e 22 29 3b | 0a 09 09 66 70 72 69 6e |T:0\n");|...fprin|
|00003b90| 74 66 28 76 61 6c 66 69 | 6c 65 2c 22 55 50 4f 57 |tf(valfi|le,"UPOW|
|00003ba0| 52 3a 31 5c 6e 22 29 3b | 0a 09 7d 3b 0a 09 66 70 |R:1\n");|..};..fp|
|00003bb0| 72 69 6e 74 66 28 76 61 | 6c 66 69 6c 65 2c 22 55 |rintf(va|lfile,"U|
|00003bc0| 54 53 54 31 3a 4e 4f 4e | 45 5c 6e 22 29 3b 0a 09 |TST1:NON|E\n");..|
|00003bd0| 66 70 72 69 6e 74 66 28 | 76 61 6c 66 69 6c 65 2c |fprintf(|valfile,|
|00003be0| 22 55 54 53 54 32 3a 4e | 4f 4e 45 5c 6e 22 29 3b |"UTST2:N|ONE\n");|
|00003bf0| 0a 09 66 70 72 69 6e 74 | 66 28 76 61 6c 66 69 6c |..fprint|f(valfil|
|00003c00| 65 2c 22 55 54 53 54 33 | 3a 4e 4f 4e 45 5c 6e 22 |e,"UTST3|:NONE\n"|
|00003c10| 29 3b 0a 09 66 70 72 69 | 6e 74 66 28 76 61 6c 66 |);..fpri|ntf(valf|
|00003c20| 69 6c 65 2c 22 55 54 53 | 54 34 3a 4e 4f 4e 45 5c |ile,"UTS|T4:NONE\|
|00003c30| 6e 22 29 3b 0a 09 66 70 | 72 69 6e 74 66 28 76 61 |n");..fp|rintf(va|
|00003c40| 6c 66 69 6c 65 2c 22 55 | 54 53 54 35 3a 4e 4f 4e |lfile,"U|TST5:NON|
|00003c50| 45 5c 6e 22 29 3b 0a 09 | 66 70 72 69 6e 74 66 28 |E\n");..|fprintf(|
|00003c60| 76 61 6c 66 69 6c 65 2c | 22 55 54 53 54 36 3a 4e |valfile,|"UTST6:N|
|00003c70| 4f 4e 45 5c 6e 22 29 3b | 0a 09 66 70 72 69 6e 74 |ONE\n");|..fprint|
|00003c80| 66 28 76 61 6c 66 69 6c | 65 2c 22 55 54 53 54 37 |f(valfil|e,"UTST7|
|00003c90| 3a 4e 4f 4e 45 5c 6e 22 | 29 3b 0a 09 66 70 72 69 |:NONE\n"|);..fpri|
|00003ca0| 6e 74 66 28 76 61 6c 66 | 69 6c 65 2c 22 55 54 53 |ntf(valf|ile,"UTS|
|00003cb0| 54 38 3a 4e 4f 4e 45 5c | 6e 22 29 3b 0a 09 66 70 |T8:NONE\|n");..fp|
|00003cc0| 72 69 6e 74 66 28 76 61 | 6c 66 69 6c 65 2c 22 55 |rintf(va|lfile,"U|
|00003cd0| 54 53 54 39 3a 4e 4f 4e | 45 5c 6e 22 29 3b 0a 09 |TST9:NON|E\n");..|
|00003ce0| 66 70 72 69 6e 74 66 28 | 76 61 6c 66 69 6c 65 2c |fprintf(|valfile,|
|00003cf0| 22 55 54 53 54 30 3a 4e | 4f 4e 45 5c 6e 22 29 3b |"UTST0:N|ONE\n");|
|00003d00| 0a 09 66 70 72 69 6e 74 | 66 28 76 61 6c 66 69 6c |..fprint|f(valfil|
|00003d10| 65 2c 22 55 55 53 52 31 | 3a 4e 4f 4e 45 5c 6e 22 |e,"UUSR1|:NONE\n"|
|00003d20| 29 3b 0a 09 66 70 72 69 | 6e 74 66 28 76 61 6c 66 |);..fpri|ntf(valf|
|00003d30| 69 6c 65 2c 22 55 55 53 | 52 32 3a 4e 4f 4e 45 5c |ile,"UUS|R2:NONE\|
|00003d40| 6e 22 29 3b 0a 09 66 70 | 72 69 6e 74 66 28 76 61 |n");..fp|rintf(va|
|00003d50| 6c 66 69 6c 65 2c 22 55 | 55 53 52 33 3a 4e 4f 4e |lfile,"U|USR3:NON|
|00003d60| 45 5c 6e 22 29 3b 0a 09 | 66 70 72 69 6e 74 66 28 |E\n");..|fprintf(|
|00003d70| 76 61 6c 66 69 6c 65 2c | 22 55 55 53 52 34 3a 4e |valfile,|"UUSR4:N|
|00003d80| 4f 4e 45 5c 6e 22 29 3b | 0a 09 66 70 72 69 6e 74 |ONE\n");|..fprint|
|00003d90| 66 28 76 61 6c 66 69 6c | 65 2c 22 55 55 53 52 35 |f(valfil|e,"UUSR5|
|00003da0| 3a 4e 4f 4e 45 5c 6e 22 | 29 3b 0a 09 66 70 72 69 |:NONE\n"|);..fpri|
|00003db0| 6e 74 66 28 76 61 6c 66 | 69 6c 65 2c 22 55 55 53 |ntf(valf|ile,"UUS|
|00003dc0| 52 36 3a 4e 4f 4e 45 5c | 6e 22 29 3b 0a 09 66 70 |R6:NONE\|n");..fp|
|00003dd0| 72 69 6e 74 66 28 76 61 | 6c 66 69 6c 65 2c 22 55 |rintf(va|lfile,"U|
|00003de0| 55 53 52 37 3a 4e 4f 4e | 45 5c 6e 22 29 3b 0a 09 |USR7:NON|E\n");..|
|00003df0| 66 70 72 69 6e 74 66 28 | 76 61 6c 66 69 6c 65 2c |fprintf(|valfile,|
|00003e00| 22 55 55 53 52 38 3a 4e | 4f 4e 45 5c 6e 22 29 3b |"UUSR8:N|ONE\n");|
|00003e10| 0a 09 66 70 72 69 6e 74 | 66 28 76 61 6c 66 69 6c |..fprint|f(valfil|
|00003e20| 65 2c 22 55 55 53 52 39 | 3a 4e 4f 4e 45 5c 6e 22 |e,"UUSR9|:NONE\n"|
|00003e30| 29 3b 0a 09 66 70 72 69 | 6e 74 66 28 76 61 6c 66 |);..fpri|ntf(valf|
|00003e40| 69 6c 65 2c 22 55 55 53 | 52 30 3a 4e 4f 4e 45 5c |ile,"UUS|R0:NONE\|
|00003e50| 6e 22 29 3b 0a 09 66 63 | 6c 6f 73 65 28 76 61 6c |n");..fc|lose(val|
|00003e60| 66 69 6c 65 29 3b 0a 7d | 0a 0a 0a 76 6f 69 64 20 |file);.}|...void |
|00003e70| 67 6f 5f 64 6f 77 6e 28 | 29 0a 7b 0a 09 73 79 73 |go_down(|).{..sys|
|00003e80| 6c 6f 67 28 4c 4f 47 5f | 49 4e 46 4f 2c 22 53 79 |log(LOG_|INFO,"Sy|
|00003e90| 73 74 65 6d 20 69 73 20 | 67 6f 69 6e 67 20 64 6f |stem is |going do|
|00003ea0| 77 6e 20 2d 20 70 6f 77 | 65 72 20 66 61 69 6c 75 |wn - pow|er failu|
|00003eb0| 72 65 22 29 3b 0a 09 6b | 69 6c 6c 6d 65 3d 32 3b |re");..k|illme=2;|
|00003ec0| 0a 7d 0a 0a 76 6f 69 64 | 20 67 6f 5f 64 6f 77 6e |.}..void| go_down|
|00003ed0| 5f 62 61 74 74 28 29 0a | 7b 0a 09 73 79 73 6c 6f |_batt().|{..syslo|
|00003ee0| 67 28 4c 4f 47 5f 49 4e | 46 4f 2c 22 53 79 73 74 |g(LOG_IN|FO,"Syst|
|00003ef0| 65 6d 20 69 73 20 67 6f | 69 6e 67 20 64 6f 77 6e |em is go|ing down|
|00003f00| 20 2d 20 62 61 74 74 65 | 72 79 20 6c 6f 77 22 29 | - batte|ry low")|
|00003f10| 3b 0a 09 6b 69 6c 6c 6d | 65 3d 32 3b 20 0a 7d 0a |;..killm|e=2; .}.|
|00003f20| 0a 0a 69 6e 74 20 67 65 | 74 6c 69 6e 65 28 69 6e |..int ge|tline(in|
|00003f30| 74 20 66 64 2c 20 63 68 | 61 72 20 2a 73 29 0a 7b |t fd, ch|ar *s).{|
|00003f40| 0a 09 69 6e 74 20 69 2c | 65 6e 64 69 6e 67 3b 0a |..int i,|ending;.|
|00003f50| 09 63 68 61 72 20 63 3b | 0a 09 0a 09 69 3d 30 3b |.char c;|....i=0;|
|00003f60| 0a 09 65 6e 64 69 6e 67 | 3d 30 3b 0a 09 0a 09 77 |..ending|=0;....w|
|00003f70| 68 69 6c 65 20 28 21 65 | 6e 64 69 6e 67 29 20 7b |hile (!e|nding) {|
|00003f80| 0a 09 09 72 65 61 64 28 | 66 64 2c 26 63 2c 31 29 |...read(|fd,&c,1)|
|00003f90| 3b 0a 09 09 73 77 69 74 | 63 68 28 63 29 20 7b 0a |;...swit|ch(c) {.|
|00003fa0| 09 09 09 63 61 73 65 20 | 55 50 53 5f 4f 4e 5f 42 |...case |UPS_ON_B|
|00003fb0| 41 54 54 3a 20 73 79 73 | 6c 6f 67 28 4c 4f 47 5f |ATT: sys|log(LOG_|
|00003fc0| 49 4e 46 4f 2c 22 55 50 | 53 20 69 73 20 67 6f 69 |INFO,"UP|S is goi|
|00003fd0| 6e 67 20 6f 6e 20 62 61 | 74 74 65 72 79 22 29 3b |ng on ba|ttery");|
|00003fe0| 0a 09 09 09 20 20 20 20 | 20 20 20 20 20 20 20 20 |.... | |
|00003ff0| 20 20 20 20 20 20 61 6c | 61 72 6d 75 70 3d 31 3b | al|armup=1;|
|00004000| 0a 09 09 09 09 20 20 09 | 20 20 62 72 65 61 6b 3b |..... .| break;|
|00004010| 0a 09 09 09 63 61 73 65 | 20 55 50 53 5f 4f 4e 5f |....case| UPS_ON_|
|00004020| 4c 49 4e 45 3a 20 73 79 | 73 6c 6f 67 28 4c 4f 47 |LINE: sy|slog(LOG|
|00004030| 5f 49 4e 46 4f 2c 22 55 | 50 53 20 69 73 20 67 6f |_INFO,"U|PS is go|
|00004040| 69 6e 67 20 6f 6e 2d 6c | 69 6e 65 22 29 3b 0a 09 |ing on-l|ine");..|
|00004050| 09 09 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|00004060| 20 20 20 20 61 6c 61 72 | 6d 64 6f 77 6e 3d 31 3b | alar|mdown=1;|
|00004070| 0a 09 09 09 09 09 20 20 | 62 72 65 61 6b 3b 0a 09 |...... |break;..|
|00004080| 09 09 63 61 73 65 20 09 | 42 41 54 54 5f 4c 4f 57 |..case .|BATT_LOW|
|00004090| 3a 20 62 61 74 74 6c 6f | 77 3d 31 3b 0a 09 09 09 |: battlo|w=1;....|
|000040a0| 09 09 20 20 62 72 65 61 | 6b 3b 0a 09 09 09 63 61 |.. brea|k;....ca|
|000040b0| 73 65 20 20 20 20 20 42 | 41 54 54 5f 4f 4b 3a 20 |se B|ATT_OK: |
|000040c0| 62 61 74 74 6c 6f 77 3d | 30 3b 0a 09 09 09 09 09 |battlow=|0;......|
|000040d0| 20 20 62 72 65 61 6b 3b | 0a 09 09 09 63 61 73 65 | break;|....case|
|000040e0| 20 09 20 20 20 20 27 5c | 6e 27 3a 20 65 6e 64 69 | . '\|n': endi|
|000040f0| 6e 67 3d 31 3b 0a 09 09 | 09 09 09 20 20 62 72 65 |ng=1;...|... bre|
|00004100| 61 6b 3b 0a 09 09 09 09 | 20 64 65 66 61 75 6c 74 |ak;.....| default|
|00004110| 3a 20 73 5b 69 2b 2b 5d | 3d 63 3b 0a 09 09 09 09 |: s[i++]|=c;.....|
|00004120| 20 09 20 20 62 72 65 61 | 6b 3b 0a 09 09 7d 0a 09 | . brea|k;...}..|
|00004130| 7d 0a 09 73 5b 69 5d 3d | 27 5c 30 27 3b 0a 09 72 |}..s[i]=|'\0';..r|
|00004140| 65 74 75 72 6e 28 30 29 | 3b 0a 7d 0a 0a 69 6e 74 |eturn(0)|;.}..int|
|00004150| 20 66 69 6c 6c 55 50 53 | 20 28 69 6e 74 20 66 64 | fillUPS| (int fd|
|00004160| 2c 55 50 53 49 4e 46 4f | 20 2a 75 70 73 29 0a 7b |,UPSINFO| *ups).{|
|00004170| 0a 09 63 68 61 72 09 61 | 6e 73 77 65 72 5b 4d 41 |..char.a|nswer[MA|
|00004180| 58 4c 49 4e 45 5d 3b 0a | 09 63 68 61 72 09 71 3b |XLINE];.|.char.q;|
|00004190| 0a 0a 09 71 3d 27 59 27 | 3b 0a 09 77 72 69 74 65 |...q='Y'|;..write|
|000041a0| 28 66 64 2c 26 71 2c 31 | 29 3b 0a 09 67 65 74 6c |(fd,&q,1|);..getl|
|000041b0| 69 6e 65 28 66 64 2c 61 | 6e 73 77 65 72 29 3b 0a |ine(fd,a|nswer);.|
|000041c0| 09 0a 09 71 3d 42 41 54 | 54 5f 46 55 4c 4c 3b 0a |...q=BAT|T_FULL;.|
|000041d0| 09 77 72 69 74 65 28 66 | 64 2c 26 71 2c 31 29 3b |.write(f|d,&q,1);|
|000041e0| 0a 09 67 65 74 6c 69 6e | 65 28 66 64 2c 61 6e 73 |..getlin|e(fd,ans|
|000041f0| 77 65 72 29 3b 0a 09 75 | 70 73 2d 3e 42 61 74 4c |wer);..u|ps->BatL|
|00004200| 6f 61 64 3d 61 74 6f 66 | 28 61 6e 73 77 65 72 29 |oad=atof|(answer)|
|00004210| 3b 0a 09 0a 09 71 3d 55 | 50 53 5f 4c 49 4e 45 5f |;....q=U|PS_LINE_|
|00004220| 4d 49 4e 3b 0a 09 77 72 | 69 74 65 28 66 64 2c 26 |MIN;..wr|ite(fd,&|
|00004230| 71 2c 31 29 3b 0a 09 67 | 65 74 6c 69 6e 65 28 66 |q,1);..g|etline(f|
|00004240| 64 2c 61 6e 73 77 65 72 | 29 3b 0a 09 75 70 73 2d |d,answer|);..ups-|
|00004250| 3e 4c 69 6e 65 4d 69 6e | 3d 61 74 6f 66 28 61 6e |>LineMin|=atof(an|
|00004260| 73 77 65 72 29 3b 0a 09 | 0a 09 71 3d 55 50 53 5f |swer);..|..q=UPS_|
|00004270| 4c 49 4e 45 5f 4d 41 58 | 3b 0a 09 77 72 69 74 65 |LINE_MAX|;..write|
|00004280| 28 66 64 2c 26 71 2c 31 | 29 3b 0a 09 67 65 74 6c |(fd,&q,1|);..getl|
|00004290| 69 6e 65 28 66 64 2c 61 | 6e 73 77 65 72 29 3b 0a |ine(fd,a|nswer);.|
|000042a0| 09 75 70 73 2d 3e 4c 69 | 6e 65 4d 61 78 3d 61 74 |.ups->Li|neMax=at|
|000042b0| 6f 66 28 61 6e 73 77 65 | 72 29 3b 0a 09 0a 09 71 |of(answe|r);....q|
|000042c0| 3d 55 50 53 5f 4c 4f 41 | 44 3b 0a 09 77 72 69 74 |=UPS_LOA|D;..writ|
|000042d0| 65 28 66 64 2c 26 71 2c | 31 29 3b 0a 09 67 65 74 |e(fd,&q,|1);..get|
|000042e0| 6c 69 6e 65 28 66 64 2c | 61 6e 73 77 65 72 29 3b |line(fd,|answer);|
|000042f0| 0a 09 75 70 73 2d 3e 55 | 50 53 4c 6f 61 64 3d 61 |..ups->U|PSLoad=a|
|00004300| 74 6f 66 28 61 6e 73 77 | 65 72 29 3b 0a 09 0a 09 |tof(answ|er);....|
|00004310| 71 3d 4c 49 4e 45 5f 46 | 52 45 51 3b 0a 09 77 72 |q=LINE_F|REQ;..wr|
|00004320| 69 74 65 28 66 64 2c 26 | 71 2c 31 29 3b 0a 09 67 |ite(fd,&|q,1);..g|
|00004330| 65 74 6c 69 6e 65 28 66 | 64 2c 61 6e 73 77 65 72 |etline(f|d,answer|
|00004340| 29 3b 0a 09 75 70 73 2d | 3e 4c 69 6e 65 46 72 65 |);..ups-|>LineFre|
|00004350| 71 3d 61 74 6f 66 28 61 | 6e 73 77 65 72 29 3b 0a |q=atof(a|nswer);.|
|00004360| 09 0a 09 71 3d 4c 49 4e | 45 5f 56 4f 4c 54 41 47 |...q=LIN|E_VOLTAG|
|00004370| 45 3b 0a 09 77 72 69 74 | 65 28 66 64 2c 26 71 2c |E;..writ|e(fd,&q,|
|00004380| 31 29 3b 0a 09 67 65 74 | 6c 69 6e 65 28 66 64 2c |1);..get|line(fd,|
|00004390| 61 6e 73 77 65 72 29 3b | 0a 09 75 70 73 2d 3e 4c |answer);|..ups->L|
|000043a0| 69 6e 65 56 6f 6c 74 61 | 67 65 3d 61 74 6f 66 28 |ineVolta|ge=atof(|
|000043b0| 61 6e 73 77 65 72 29 3b | 0a 09 0a 09 71 3d 4f 55 |answer);|....q=OU|
|000043c0| 54 50 55 54 5f 56 4f 4c | 54 41 47 45 3b 0a 09 77 |TPUT_VOL|TAGE;..w|
|000043d0| 72 69 74 65 28 66 64 2c | 26 71 2c 31 29 3b 0a 09 |rite(fd,|&q,1);..|
|000043e0| 67 65 74 6c 69 6e 65 28 | 66 64 2c 61 6e 73 77 65 |getline(|fd,answe|
|000043f0| 72 29 3b 0a 09 75 70 73 | 2d 3e 4f 75 74 70 75 74 |r);..ups|->Output|
|00004400| 56 6f 6c 74 61 67 65 3d | 61 74 6f 66 28 61 6e 73 |Voltage=|atof(ans|
|00004410| 77 65 72 29 3b 0a 09 0a | 09 71 3d 55 50 53 5f 54 |wer);...|.q=UPS_T|
|00004420| 45 4d 50 3b 0a 09 77 72 | 69 74 65 28 66 64 2c 26 |EMP;..wr|ite(fd,&|
|00004430| 71 2c 31 29 3b 0a 09 67 | 65 74 6c 69 6e 65 28 66 |q,1);..g|etline(f|
|00004440| 64 2c 61 6e 73 77 65 72 | 29 3b 0a 09 75 70 73 2d |d,answer|);..ups-|
|00004450| 3e 55 50 53 54 65 6d 70 | 3d 61 74 6f 66 28 61 6e |>UPSTemp|=atof(an|
|00004460| 73 77 65 72 29 3b 0a 09 | 0a 09 71 3d 42 41 54 54 |swer);..|..q=BATT|
|00004470| 5f 56 4f 4c 54 41 47 45 | 3b 0a 09 77 72 69 74 65 |_VOLTAGE|;..write|
|00004480| 28 66 64 2c 26 71 2c 31 | 29 3b 0a 09 67 65 74 6c |(fd,&q,1|);..getl|
|00004490| 69 6e 65 28 66 64 2c 61 | 6e 73 77 65 72 29 3b 0a |ine(fd,a|nswer);.|
|000044a0| 09 75 70 73 2d 3e 42 61 | 74 74 56 6f 6c 74 61 67 |.ups->Ba|ttVoltag|
|000044b0| 65 3d 61 74 6f 66 28 61 | 6e 73 77 65 72 29 3b 0a |e=atof(a|nswer);.|
|000044c0| 09 0a 09 71 3d 55 50 53 | 5f 53 54 41 54 55 53 3b |...q=UPS|_STATUS;|
|000044d0| 0a 09 77 72 69 74 65 28 | 66 64 2c 26 71 2c 31 29 |..write(|fd,&q,1)|
|000044e0| 3b 0a 09 67 65 74 6c 69 | 6e 65 28 66 64 2c 61 6e |;..getli|ne(fd,an|
|000044f0| 73 77 65 72 29 3b 0a 09 | 75 70 73 2d 3e 53 74 61 |swer);..|ups->Sta|
|00004500| 74 75 73 3d 61 74 6f 69 | 28 61 6e 73 77 65 72 29 |tus=atoi|(answer)|
|00004510| 3b 0a 0a 09 6c 6f 67 5f | 63 6f 75 6e 74 65 72 2b |;...log_|counter+|
|00004520| 2b 3b 0a 09 69 66 28 6c | 6f 67 5f 63 6f 75 6e 74 |+;..if(l|og_count|
|00004530| 65 72 20 3e 3d 20 6c 6f | 67 5f 74 69 6d 65 72 29 |er >= lo|g_timer)|
|00004540| 20 7b 0a 09 09 6c 6f 67 | 5f 63 6f 75 6e 74 65 72 | {...log|_counter|
|00004550| 3d 30 3b 0a 09 09 6c 6f | 67 5f 55 50 53 5f 73 74 |=0;...lo|g_UPS_st|
|00004560| 61 74 75 73 28 29 3b 0a | 09 7d 09 0a 09 72 65 74 |atus();.|.}...ret|
|00004570| 75 72 6e 28 30 29 3b 0a | 7d 09 09 0a 0a 0a 2f 2a |urn(0);.|}...../*|
|00004580| 20 6d 65 73 75 73 72 28 | 29 20 61 6e 64 20 6d 65 | mesusr(|) and me|
|00004590| 73 61 6c 6c 28 29 20 66 | 75 6e 63 74 69 6f 6e 20 |sall() f|unction |
|000045a0| 61 72 65 20 61 63 74 75 | 61 6c 6c 79 20 70 61 72 |are actu|ally par|
|000045b0| 74 73 20 6f 66 20 73 68 | 75 74 64 6f 77 6e 20 73 |ts of sh|utdown s|
|000045c0| 6f 75 72 63 65 0a 20 2a | 20 49 20 61 6d 20 75 73 |ource. *| I am us|
|000045d0| 69 6e 67 20 74 68 65 6d | 20 66 6f 72 20 73 65 6e |ing them| for sen|
|000045e0| 64 69 6e 67 20 6d 65 73 | 73 61 67 65 73 20 62 65 |ding mes|sages be|
|000045f0| 66 6f 72 65 20 73 68 75 | 74 64 6f 77 6e 0a 20 2a |fore shu|tdown. *|
|00004600| 2f 0a 0a 76 6f 69 64 20 | 6d 65 73 75 73 72 28 63 |/..void |mesusr(c|
|00004610| 68 61 72 20 2a 6d 65 73 | 73 2c 73 74 72 75 63 74 |har *mes|s,struct|
|00004620| 20 75 74 6d 70 20 2a 75 | 74 29 0a 7b 0a 09 69 6e | utmp *u|t).{..in|
|00004630| 74 20 66 64 3b 0a 09 63 | 68 61 72 20 74 65 72 6d |t fd;..c|har term|
|00004640| 5b 34 30 5d 20 3d 20 7b | 27 2f 27 2c 27 64 27 2c |[40] = {|'/','d',|
|00004650| 27 65 27 2c 27 76 27 2c | 27 2f 27 2c 30 7d 3b 0a |'e','v',|'/',0};.|
|00004660| 0a 09 28 76 6f 69 64 29 | 73 74 72 6e 63 61 74 28 |..(void)|strncat(|
|00004670| 74 65 72 6d 2c 75 74 2d | 3e 75 74 5f 6c 69 6e 65 |term,ut-|>ut_line|
|00004680| 2c 73 69 7a 65 6f 66 28 | 75 74 2d 3e 75 74 5f 6c |,sizeof(|ut->ut_l|
|00004690| 69 6e 65 29 29 3b 0a 09 | 69 66 28 28 66 64 3d 6f |ine));..|if((fd=o|
|000046a0| 70 65 6e 28 74 65 72 6d | 2c 20 4f 5f 52 44 57 52 |pen(term|, O_RDWR|
|000046b0| 20 7c 20 4f 5f 4e 4f 4e | 42 4c 4f 43 4b 29 29 20 | | O_NON|BLOCK)) |
|000046c0| 3c 20 30 29 0a 09 09 72 | 65 74 75 72 6e 3b 0a 09 |< 0)...r|eturn;..|
|000046d0| 77 72 69 74 65 28 66 64 | 2c 6d 65 73 73 2c 73 74 |write(fd|,mess,st|
|000046e0| 72 6c 65 6e 28 6d 65 73 | 73 29 29 3b 0a 09 63 6c |rlen(mes|s));..cl|
|000046f0| 6f 73 65 28 66 64 29 3b | 0a 7d 0a 0a 76 6f 69 64 |ose(fd);|.}..void|
|00004700| 20 6d 65 73 61 6c 6c 28 | 63 68 61 72 20 2a 6d 65 | mesall(|char *me|
|00004710| 73 73 29 0a 7b 0a 09 73 | 74 72 75 63 74 20 75 74 |ss).{..s|truct ut|
|00004720| 6d 70 20 2a 75 74 3b 0a | 09 75 74 6d 70 6e 61 6d |mp *ut;.|.utmpnam|
|00004730| 65 28 5f 50 41 54 48 5f | 55 54 4d 50 29 3b 0a 09 |e(_PATH_|UTMP);..|
|00004740| 73 65 74 75 74 65 6e 74 | 28 29 3b 20 0a 09 75 74 |setutent|(); ..ut|
|00004750| 3d 67 65 74 75 74 65 6e | 74 28 29 3b 0a 09 77 68 |=getuten|t();..wh|
|00004760| 69 6c 65 28 28 75 74 20 | 3d 20 67 65 74 75 74 65 |ile((ut |= getute|
|00004770| 6e 74 28 29 29 29 20 7b | 0a 09 09 69 66 28 75 74 |nt())) {|...if(ut|
|00004780| 2d 3e 75 74 5f 74 79 70 | 65 20 3d 3d 20 55 53 45 |->ut_typ|e == USE|
|00004790| 52 5f 50 52 4f 43 45 53 | 53 29 0a 09 09 09 6d 65 |R_PROCES|S)....me|
|000047a0| 73 75 73 72 28 6d 65 73 | 73 2c 75 74 29 3b 0a 09 |susr(mes|s,ut);..|
|000047b0| 7d 0a 09 65 6e 64 75 74 | 65 6e 74 28 29 3b 0a 7d |}..endut|ent();.}|
|000047c0| 0a 0a 0a 2f 2a 0a 20 2a | 0a 20 2a 20 46 72 6f 6d |.../*. *|. * From|
|000047d0| 20 68 65 72 65 2c 20 74 | 68 65 72 65 20 61 72 65 | here, t|here are|
|000047e0| 20 70 61 72 74 73 20 6f | 66 20 74 68 65 20 73 6f | parts o|f the so|
|000047f0| 75 72 63 65 20 66 72 6f | 6d 20 73 68 75 74 64 6f |urce fro|m shutdo|
|00004800| 77 6e 2e 63 20 77 68 69 | 63 68 0a 20 2a 20 69 73 |wn.c whi|ch. * is|
|00004810| 20 61 20 70 61 72 74 20 | 6f 66 20 6c 69 6e 75 78 | a part |of linux|
|00004820| 2d 75 74 69 6c 73 2d 32 | 2e 31 0a 20 2a 0a 20 2a |-utils-2|.1. *. *|
|00004830| 2f 0a 0a 76 6f 69 64 20 | 77 72 69 74 65 5f 77 74 |/..void |write_wt|
|00004840| 6d 70 28 29 2c 20 75 6e | 6d 6f 75 6e 74 5f 64 69 |mp(), un|mount_di|
|00004850| 73 6b 73 28 29 2c 20 75 | 6e 6d 6f 75 6e 74 5f 64 |sks(), u|nmount_d|
|00004860| 69 73 6b 73 5f 6f 75 72 | 73 65 6c 76 65 73 28 29 |isks_our|selves()|
|00004870| 3b 0a 0a 0a 0a 76 6f 69 | 64 0a 64 6f 5f 73 68 75 |;....voi|d.do_shu|
|00004880| 74 64 6f 77 6e 28 29 0a | 7b 0a 2f 2a 09 73 74 72 |tdown().|{./*.str|
|00004890| 75 63 74 20 69 74 69 6d | 65 72 76 61 6c 20 6e 65 |uct itim|erval ne|
|000048a0| 77 2c 6f 6c 64 3b 20 2a | 2f 0a 09 63 68 61 72 20 |w,old; *|/..char |
|000048b0| 61 3b 0a 09 0a 2f 2a 09 | 73 65 74 70 72 69 6f 72 |a;.../*.|setprior|
|000048c0| 69 74 79 28 50 52 49 4f | 5f 50 52 4f 43 45 53 53 |ity(PRIO|_PROCESS|
|000048d0| 2c 20 30 2c 20 50 52 49 | 4f 5f 4d 49 4e 29 3b 20 |, 0, PRI|O_MIN); |
|000048e0| 2a 2f 0a 0a 09 63 68 64 | 69 72 28 22 2f 22 29 3b |*/...chd|ir("/");|
|000048f0| 0a 0a 09 73 69 67 6e 61 | 6c 28 53 49 47 50 49 50 |...signa|l(SIGPIP|
|00004900| 45 2c 20 53 49 47 5f 49 | 47 4e 29 3b 0a 09 73 69 |E, SIG_I|GN);..si|
|00004910| 67 6e 61 6c 28 53 49 47 | 49 4e 54 2c 20 20 53 49 |gnal(SIG|INT, SI|
|00004920| 47 5f 49 47 4e 29 3b 0a | 0a 09 2f 2a 20 64 6f 20 |G_IGN);.|../* do |
|00004930| 73 79 73 6c 6f 67 20 6d | 65 73 73 61 67 65 2e 2e |syslog m|essage..|
|00004940| 2e 20 2a 2f 0a 09 73 79 | 73 6c 6f 67 28 4c 4f 47 |. */..sy|slog(LOG|
|00004950| 5f 49 4e 46 4f 2c 20 22 | 53 79 73 74 65 6d 20 63 |_INFO, "|System c|
|00004960| 6c 65 61 6e 75 70 22 29 | 3b 20 0a 09 63 6c 6f 73 |leanup")|; ..clos|
|00004970| 65 6c 6f 67 28 29 3b 0a | 09 69 66 20 28 73 6c 61 |elog();.|.if (sla|
|00004980| 76 65 20 3d 3d 20 32 29 | 20 66 63 6c 6f 73 65 28 |ve == 2)| fclose(|
|00004990| 55 50 53 6c 6f 67 66 69 | 6c 65 29 3b 0a 09 73 6c |UPSlogfi|le);..sl|
|000049a0| 65 65 70 28 31 29 3b 0a | 09 6b 69 6c 6c 28 31 2c |eep(1);.|.kill(1,|
|000049b0| 20 53 49 47 54 53 54 50 | 29 3b 09 2f 2a 20 74 65 | SIGTSTP|);./* te|
|000049c0| 6c 6c 20 69 6e 69 74 20 | 6e 6f 74 20 74 6f 20 73 |ll init |not to s|
|000049d0| 70 61 77 6e 20 6d 6f 72 | 65 20 67 65 74 74 79 27 |pawn mor|e getty'|
|000049e0| 73 20 2a 2f 0a 09 77 72 | 69 74 65 5f 77 74 6d 70 |s */..wr|ite_wtmp|
|000049f0| 28 29 3b 0a 09 73 79 6e | 63 28 29 3b 0a 09 73 69 |();..syn|c();..si|
|00004a00| 67 6e 61 6c 28 53 49 47 | 54 45 52 4d 2c 20 53 49 |gnal(SIG|TERM, SI|
|00004a10| 47 5f 49 47 4e 29 3b 0a | 09 73 65 74 70 67 72 70 |G_IGN);.|.setpgrp|
|00004a20| 28 29 3b 09 09 2f 2a 20 | 73 6f 20 74 68 65 20 73 |();../* |so the s|
|00004a30| 68 65 6c 6c 20 77 6f 6e | 74 20 6b 69 6c 6c 20 75 |hell won|t kill u|
|00004a40| 73 20 69 6e 20 74 68 65 | 20 66 61 6c 6c 20 2a 2f |s in the| fall */|
|00004a50| 0a 09 2f 2a 20 61 20 67 | 65 6e 74 6c 65 20 6b 69 |../* a g|entle ki|
|00004a60| 6c 6c 20 6f 66 20 61 6c | 6c 20 6f 74 68 65 72 20 |ll of al|l other |
|00004a70| 70 72 6f 63 65 73 73 65 | 73 20 65 78 63 65 70 74 |processe|s except|
|00004a80| 20 69 6e 69 74 20 2a 2f | 0a 09 6b 69 6c 6c 28 2d | init */|..kill(-|
|00004a90| 31 2c 20 53 49 47 54 45 | 52 4d 29 3b 0a 09 73 6c |1, SIGTE|RM);..sl|
|00004aa0| 65 65 70 28 32 29 3b 0a | 0a 09 2f 2a 20 6e 6f 77 |eep(2);.|../* now|
|00004ab0| 20 75 73 65 20 62 72 75 | 74 65 20 66 6f 72 63 65 | use bru|te force|
|00004ac0| 2e 2e 2e 20 2a 2f 0a 09 | 6b 69 6c 6c 28 2d 31 2c |... */..|kill(-1,|
|00004ad0| 20 53 49 47 4b 49 4c 4c | 29 3b 0a 0a 09 2f 2a 20 | SIGKILL|);.../* |
|00004ae0| 74 75 72 6e 20 6f 66 66 | 20 61 63 63 6f 75 6e 74 |turn off| account|
|00004af0| 69 6e 67 20 2a 2f 0a 09 | 61 63 63 74 28 4e 55 4c |ing */..|acct(NUL|
|00004b00| 4c 29 3b 0a 0a 09 73 79 | 6e 63 28 29 3b 0a 09 73 |L);...sy|nc();..s|
|00004b10| 6c 65 65 70 28 32 29 3b | 0a 09 2f 2a 20 75 6e 6d |leep(2);|../* unm|
|00004b20| 6f 75 6e 74 20 64 69 73 | 6b 73 2e 2e 2e 20 2a 2f |ount dis|ks... */|
|00004b30| 0a 09 75 6e 6d 6f 75 6e | 74 5f 64 69 73 6b 73 28 |..unmoun|t_disks(|
|00004b40| 29 3b 0a 09 73 79 6e 63 | 28 29 3b 0a 09 73 6c 65 |);..sync|();..sle|
|00004b50| 65 70 28 31 29 3b 0a 09 | 61 20 3d 20 27 53 27 3b |ep(1);..|a = 'S';|
|00004b60| 0a 09 69 66 28 73 6c 61 | 76 65 3d 3d 32 29 20 77 |..if(sla|ve==2) w|
|00004b70| 72 69 74 65 28 70 6f 72 | 74 2c 26 61 2c 31 29 3b |rite(por|t,&a,1);|
|00004b80| 0a 09 73 6c 65 65 70 28 | 39 39 39 39 29 3b 09 2f |..sleep(|9999);./|
|00004b90| 2a 20 57 61 69 74 20 66 | 6f 72 20 55 50 53 20 73 |* Wait f|or UPS s|
|00004ba0| 77 69 74 63 68 20 6f 66 | 66 20 2a 2f 09 0a 09 72 |witch of|f */...r|
|00004bb0| 65 62 6f 6f 74 28 30 78 | 66 65 65 31 64 65 61 64 |eboot(0x|fee1dead|
|00004bc0| 2c 36 37 32 32 37 34 37 | 39 33 2c 30 78 31 32 33 |,6722747|93,0x123|
|00004bd0| 34 35 36 37 29 3b 20 2f | 2a 20 4a 75 73 74 20 66 |4567); /|* Just f|
|00004be0| 6f 72 20 73 75 72 65 20 | 3a 2d 29 20 2a 2f 09 09 |or sure |:-) */..|
|00004bf0| 0a 09 2f 2a 20 4e 4f 54 | 52 45 41 43 48 45 44 20 |../* NOT|REACHED |
|00004c00| 2a 2f 0a 09 65 78 69 74 | 28 30 29 3b 20 2f 2a 20 |*/..exit|(0); /* |
|00004c10| 74 6f 20 71 75 69 65 74 | 20 67 63 63 20 2a 2f 0a |to quiet| gcc */.|
|00004c20| 7d 0a 0a 0a 76 6f 69 64 | 0a 77 72 69 74 65 5f 77 |}...void|.write_w|
|00004c30| 74 6d 70 28 29 0a 7b 0a | 09 2f 2a 20 77 72 69 74 |tmp().{.|./* writ|
|00004c40| 65 20 69 6e 20 77 74 6d | 70 20 74 68 61 74 20 77 |e in wtm|p that w|
|00004c50| 65 20 61 72 65 20 64 79 | 69 6e 67 20 2a 2f 0a 09 |e are dy|ing */..|
|00004c60| 69 6e 74 20 66 64 3b 0a | 09 73 74 72 75 63 74 20 |int fd;.|.struct |
|00004c70| 75 74 6d 70 20 75 74 3b | 0a 09 0a 09 6d 65 6d 73 |utmp ut;|....mems|
|00004c80| 65 74 28 28 63 68 61 72 | 20 2a 29 26 75 74 2c 20 |et((char| *)&ut, |
|00004c90| 30 2c 20 73 69 7a 65 6f | 66 28 75 74 29 29 3b 0a |0, sizeo|f(ut));.|
|00004ca0| 09 73 74 72 63 70 79 28 | 75 74 2e 75 74 5f 6c 69 |.strcpy(|ut.ut_li|
|00004cb0| 6e 65 2c 20 22 7e 22 29 | 3b 0a 09 6d 65 6d 63 70 |ne, "~")|;..memcp|
|00004cc0| 79 28 75 74 2e 75 74 5f | 6e 61 6d 65 2c 20 22 73 |y(ut.ut_|name, "s|
|00004cd0| 68 75 74 64 6f 77 6e 22 | 2c 20 73 69 7a 65 6f 66 |hutdown"|, sizeof|
|00004ce0| 28 75 74 2e 75 74 5f 6e | 61 6d 65 29 29 3b 0a 0a |(ut.ut_n|ame));..|
|00004cf0| 09 74 69 6d 65 28 26 75 | 74 2e 75 74 5f 74 69 6d |.time(&u|t.ut_tim|
|00004d00| 65 29 3b 0a 09 75 74 2e | 75 74 5f 74 79 70 65 20 |e);..ut.|ut_type |
|00004d10| 3d 20 42 4f 4f 54 5f 54 | 49 4d 45 3b 0a 09 0a 09 |= BOOT_T|IME;....|
|00004d20| 69 66 28 28 66 64 20 3d | 20 6f 70 65 6e 28 5f 50 |if((fd =| open(_P|
|00004d30| 41 54 48 5f 57 54 4d 50 | 2c 20 4f 5f 57 52 4f 4e |ATH_WTMP|, O_WRON|
|00004d40| 4c 59 7c 4f 5f 41 50 50 | 45 4e 44 29 29 20 3e 20 |LY|O_APP|END)) > |
|00004d50| 30 29 20 7b 0a 09 09 77 | 72 69 74 65 28 66 64 2c |0) {...w|rite(fd,|
|00004d60| 20 28 63 68 61 72 20 2a | 29 26 75 74 2c 20 73 69 | (char *|)&ut, si|
|00004d70| 7a 65 6f 66 28 75 74 29 | 29 3b 0a 09 09 63 6c 6f |zeof(ut)|);...clo|
|00004d80| 73 65 28 66 64 29 3b 0a | 09 7d 0a 7d 0a 0a 76 6f |se(fd);.|.}.}..vo|
|00004d90| 69 64 0a 75 6e 6d 6f 75 | 6e 74 5f 64 69 73 6b 73 |id.unmou|nt_disks|
|00004da0| 28 29 0a 7b 0a 09 2f 2a | 20 62 65 74 74 65 72 20 |().{../*| better |
|00004db0| 74 6f 20 75 73 65 20 75 | 6d 6f 75 6e 74 20 64 69 |to use u|mount di|
|00004dc0| 72 65 63 74 6c 79 20 62 | 65 63 61 75 73 65 20 69 |rectly b|ecause i|
|00004dd0| 74 20 6d 61 79 20 62 65 | 20 73 6d 61 72 74 65 72 |t may be| smarter|
|00004de0| 20 74 68 61 6e 20 75 73 | 20 2a 2f 0a 0a 09 69 6e | than us| */...in|
|00004df0| 74 20 70 69 64 3b 0a 09 | 69 6e 74 20 72 65 73 75 |t pid;..|int resu|
|00004e00| 6c 74 3b 0a 09 69 6e 74 | 20 73 74 61 74 75 73 3b |lt;..int| status;|
|00004e10| 0a 0a 09 73 79 6e 63 28 | 29 3b 0a 09 69 66 20 28 |...sync(|);..if (|
|00004e20| 28 70 69 64 20 3d 20 66 | 6f 72 6b 28 29 29 20 3c |(pid = f|ork()) <|
|00004e30| 20 30 29 20 7b 0a 09 09 | 70 72 69 6e 74 66 28 22 | 0) {...|printf("|
|00004e40| 43 61 6e 6e 6f 74 20 66 | 6f 72 6b 20 66 6f 72 20 |Cannot f|ork for |
|00004e50| 75 6d 6f 75 6e 74 2c 20 | 74 72 79 69 6e 67 20 6d |umount, |trying m|
|00004e60| 61 6e 75 61 6c 6c 79 2e | 5c 6e 22 29 3b 0a 09 09 |anually.|\n");...|
|00004e70| 75 6e 6d 6f 75 6e 74 5f | 64 69 73 6b 73 5f 6f 75 |unmount_|disks_ou|
|00004e80| 72 73 65 6c 76 65 73 28 | 29 3b 0a 09 09 72 65 74 |rselves(|);...ret|
|00004e90| 75 72 6e 3b 0a 09 7d 0a | 09 69 66 20 28 21 70 69 |urn;..}.|.if (!pi|
|00004ea0| 64 29 20 7b 0a 09 09 65 | 78 65 63 6c 28 5f 50 41 |d) {...e|xecl(_PA|
|00004eb0| 54 48 5f 55 4d 4f 55 4e | 54 2c 20 55 4d 4f 55 4e |TH_UMOUN|T, UMOUN|
|00004ec0| 54 5f 41 52 47 53 2c 20 | 4e 55 4c 4c 29 3b 0a 09 |T_ARGS, |NULL);..|
|00004ed0| 09 70 72 69 6e 74 66 28 | 22 43 61 6e 6e 6f 74 20 |.printf(|"Cannot |
|00004ee0| 65 78 65 63 20 25 73 2c | 20 74 72 79 69 6e 67 20 |exec %s,| trying |
|00004ef0| 75 6d 6f 75 6e 74 2e 5c | 6e 22 2c 20 5f 50 41 54 |umount.\|n", _PAT|
|00004f00| 48 5f 55 4d 4f 55 4e 54 | 29 3b 0a 09 09 65 78 65 |H_UMOUNT|);...exe|
|00004f10| 63 6c 70 28 22 75 6d 6f | 75 6e 74 22 2c 20 55 4d |clp("umo|unt", UM|
|00004f20| 4f 55 4e 54 5f 41 52 47 | 53 2c 20 4e 55 4c 4c 29 |OUNT_ARG|S, NULL)|
|00004f30| 3b 0a 09 09 70 72 69 6e | 74 66 28 22 43 61 6e 6e |;...prin|tf("Cann|
|00004f40| 6f 74 20 65 78 65 63 20 | 75 6d 6f 75 6e 74 2c 20 |ot exec |umount, |
|00004f50| 74 72 79 69 6e 67 20 6d | 61 6e 75 61 6c 6c 79 2e |trying m|anually.|
|00004f60| 5c 6e 22 29 3b 0a 09 09 | 75 6e 6d 6f 75 6e 74 5f |\n");...|unmount_|
|00004f70| 64 69 73 6b 73 5f 6f 75 | 72 73 65 6c 76 65 73 28 |disks_ou|rselves(|
|00004f80| 29 3b 0a 09 09 65 78 69 | 74 28 30 29 3b 0a 09 7d |);...exi|t(0);..}|
|00004f90| 0a 09 77 68 69 6c 65 20 | 28 28 72 65 73 75 6c 74 |..while |((result|
|00004fa0| 20 3d 20 77 61 69 74 28 | 26 73 74 61 74 75 73 29 | = wait(|&status)|
|00004fb0| 29 20 21 3d 20 2d 31 20 | 26 26 20 72 65 73 75 6c |) != -1 |&& resul|
|00004fc0| 74 20 21 3d 20 70 69 64 | 29 0a 09 09 3b 0a 09 69 |t != pid|)...;..i|
|00004fd0| 66 20 28 72 65 73 75 6c | 74 20 3d 3d 20 2d 31 20 |f (resul|t == -1 |
|00004fe0| 7c 7c 20 73 74 61 74 75 | 73 29 20 7b 0a 09 09 70 ||| statu|s) {...p|
|00004ff0| 72 69 6e 74 66 28 22 52 | 75 6e 6e 69 6e 67 20 75 |rintf("R|unning u|
|00005000| 6d 6f 75 6e 74 20 66 61 | 69 6c 65 64 2c 20 74 72 |mount fa|iled, tr|
|00005010| 79 69 6e 67 20 6d 61 6e | 75 61 6c 6c 79 2e 5c 6e |ying man|ually.\n|
|00005020| 22 29 3b 0a 09 09 75 6e | 6d 6f 75 6e 74 5f 64 69 |");...un|mount_di|
|00005030| 73 6b 73 5f 6f 75 72 73 | 65 6c 76 65 73 28 29 3b |sks_ours|elves();|
|00005040| 0a 09 7d 0a 7d 0a 0a 76 | 6f 69 64 0a 75 6e 6d 6f |..}.}..v|oid.unmo|
|00005050| 75 6e 74 5f 64 69 73 6b | 73 5f 6f 75 72 73 65 6c |unt_disk|s_oursel|
|00005060| 76 65 73 28 29 0a 7b 0a | 09 2f 2a 20 75 6e 6d 6f |ves().{.|./* unmo|
|00005070| 75 6e 74 20 61 6c 6c 20 | 64 69 73 6b 73 20 2a 2f |unt all |disks */|
|00005080| 0a 0a 09 46 49 4c 45 20 | 2a 6d 74 61 62 3b 0a 09 |...FILE |*mtab;..|
|00005090| 73 74 72 75 63 74 20 6d | 6e 74 65 6e 74 20 2a 6d |struct m|ntent *m|
|000050a0| 6e 74 3b 0a 09 63 68 61 | 72 20 2a 6d 6e 74 6c 69 |nt;..cha|r *mntli|
|000050b0| 73 74 5b 31 32 38 5d 3b | 0a 09 69 6e 74 20 69 3b |st[128];|..int i;|
|000050c0| 0a 09 69 6e 74 20 6e 3b | 0a 09 63 68 61 72 20 2a |..int n;|..char *|
|000050d0| 66 69 6c 65 73 79 73 3b | 0a 09 0a 09 73 79 6e 63 |filesys;|....sync|
|000050e0| 28 29 3b 0a 09 69 66 20 | 28 21 28 6d 74 61 62 20 |();..if |(!(mtab |
|000050f0| 3d 20 73 65 74 6d 6e 74 | 65 6e 74 28 5f 50 41 54 |= setmnt|ent(_PAT|
|00005100| 48 5f 4d 54 41 42 2c 20 | 22 72 22 29 29 29 20 7b |H_MTAB, |"r"))) {|
|00005110| 0a 09 09 70 72 69 6e 74 | 66 28 22 43 61 6e 6e 6f |...print|f("Canno|
|00005120| 74 20 6f 70 65 6e 20 25 | 73 2e 5c 6e 22 2c 20 5f |t open %|s.\n", _|
|00005130| 50 41 54 48 5f 4d 54 41 | 42 29 3b 0a 09 09 72 65 |PATH_MTA|B);...re|
|00005140| 74 75 72 6e 3b 0a 09 7d | 0a 09 6e 20 3d 20 30 3b |turn;..}|..n = 0;|
|00005150| 0a 09 77 68 69 6c 65 20 | 28 6e 20 3c 20 31 30 30 |..while |(n < 100|
|00005160| 20 26 26 20 28 6d 6e 74 | 20 3d 20 67 65 74 6d 6e | && (mnt| = getmn|
|00005170| 74 65 6e 74 28 6d 74 61 | 62 29 29 29 20 7b 0a 09 |tent(mta|b))) {..|
|00005180| 09 6d 6e 74 6c 69 73 74 | 5b 6e 2b 2b 5d 20 3d 20 |.mntlist|[n++] = |
|00005190| 73 74 72 64 75 70 28 6d | 6e 74 2d 3e 6d 6e 74 5f |strdup(m|nt->mnt_|
|000051a0| 66 73 6e 61 6d 65 5b 30 | 5d 20 3d 3d 20 27 2f 27 |fsname[0|] == '/'|
|000051b0| 20 3f 0a 09 09 09 6d 6e | 74 2d 3e 6d 6e 74 5f 66 | ?....mn|t->mnt_f|
|000051c0| 73 6e 61 6d 65 20 3a 20 | 6d 6e 74 2d 3e 6d 6e 74 |sname : |mnt->mnt|
|000051d0| 5f 64 69 72 29 3b 0a 09 | 7d 0a 09 65 6e 64 6d 6e |_dir);..|}..endmn|
|000051e0| 74 65 6e 74 28 6d 74 61 | 62 29 3b 0a 0a 09 2f 2a |tent(mta|b);.../*|
|000051f0| 20 77 65 20 61 72 65 20 | 63 61 72 65 66 75 6c 20 | we are |careful |
|00005200| 74 6f 20 64 6f 20 74 68 | 69 73 20 69 6e 20 72 65 |to do th|is in re|
|00005210| 76 65 72 73 65 20 6f 72 | 64 65 72 20 6f 66 20 74 |verse or|der of t|
|00005220| 68 65 20 6d 74 61 62 20 | 66 69 6c 65 20 2a 2f 0a |he mtab |file */.|
|00005230| 0a 09 66 6f 72 20 28 69 | 20 3d 20 6e 20 2d 20 31 |..for (i| = n - 1|
|00005240| 3b 20 69 20 3e 3d 20 30 | 3b 20 69 2d 2d 29 20 7b |; i >= 0|; i--) {|
|00005250| 0a 09 09 66 69 6c 65 73 | 79 73 20 3d 20 6d 6e 74 |...files|ys = mnt|
|00005260| 6c 69 73 74 5b 69 5d 3b | 0a 23 69 66 64 65 66 20 |list[i];|.#ifdef |
|00005270| 44 45 42 55 47 47 49 4e | 47 0a 09 09 70 72 69 6e |DEBUGGIN|G...prin|
|00005280| 74 66 28 22 75 6d 6f 75 | 6e 74 20 25 73 5c 6e 22 |tf("umou|nt %s\n"|
|00005290| 2c 20 66 69 6c 65 73 79 | 73 29 3b 0a 23 65 6c 73 |, filesy|s);.#els|
|000052a0| 65 0a 09 09 69 66 20 28 | 75 6d 6f 75 6e 74 28 6d |e...if (|umount(m|
|000052b0| 6e 74 6c 69 73 74 5b 69 | 5d 29 20 3c 20 30 29 0a |ntlist[i|]) < 0).|
|000052c0| 09 09 09 70 72 69 6e 74 | 66 28 22 43 6f 75 6c 64 |...print|f("Could|
|000052d0| 6e 27 74 20 75 6d 6f 75 | 6e 74 20 25 73 5c 6e 22 |n't umou|nt %s\n"|
|000052e0| 2c 20 66 69 6c 65 73 79 | 73 29 3b 0a 23 65 6e 64 |, filesy|s);.#end|
|000052f0| 69 66 0a 09 7d 0a 7d 0a | 0a 76 6f 69 64 20 6c 6f |if..}.}.|.void lo|
|00005300| 67 5f 55 50 53 5f 73 74 | 61 74 75 73 28 29 0a 7b |g_UPS_st|atus().{|
|00005310| 0a 09 63 68 61 72 20 6d | 73 67 5b 31 30 30 5d 3b |..char m|sg[100];|
|00005320| 0a 09 74 69 6d 65 5f 74 | 09 6e 6f 77 74 69 6d 65 |..time_t|.nowtime|
|00005330| 3b 0a 0a 09 74 69 6d 65 | 28 26 6e 6f 77 74 69 6d |;...time|(&nowtim|
|00005340| 65 29 3b 0a 09 73 74 72 | 66 74 69 6d 65 28 6d 73 |e);..str|ftime(ms|
|00005350| 67 2c 31 30 30 2c 22 25 | 62 20 25 64 20 25 58 22 |g,100,"%|b %d %X"|
|00005360| 2c 6c 6f 63 61 6c 74 69 | 6d 65 28 26 6e 6f 77 74 |,localti|me(&nowt|
|00005370| 69 6d 65 29 29 3b 0a 09 | 66 70 72 69 6e 74 66 28 |ime));..|fprintf(|
|00005380| 55 50 53 6c 6f 67 66 69 | 6c 65 2c 22 25 73 20 41 |UPSlogfi|le,"%s A|
|00005390| 50 43 3a 20 22 2c 6d 73 | 67 29 3b 0a 09 66 70 72 |PC: ",ms|g);..fpr|
|000053a0| 69 6e 74 66 28 55 50 53 | 6c 6f 67 66 69 6c 65 2c |intf(UPS|logfile,|
|000053b0| 22 25 2e 31 66 20 25 2e | 31 66 20 25 2e 31 66 20 |"%.1f %.|1f %.1f |
|000053c0| 22 2c 6d 79 55 50 53 2e | 42 61 74 4c 6f 61 64 2c |",myUPS.|BatLoad,|
|000053d0| 6d 79 55 50 53 2e 4c 69 | 6e 65 4d 69 6e 2c 6d 79 |myUPS.Li|neMin,my|
|000053e0| 55 50 53 2e 4c 69 6e 65 | 4d 61 78 29 3b 0a 09 66 |UPS.Line|Max);..f|
|000053f0| 70 72 69 6e 74 66 28 55 | 50 53 6c 6f 67 66 69 6c |printf(U|PSlogfil|
|00005400| 65 2c 22 25 2e 31 66 20 | 25 2e 31 66 20 25 2e 31 |e,"%.1f |%.1f %.1|
|00005410| 66 20 22 2c 6d 79 55 50 | 53 2e 55 50 53 4c 6f 61 |f ",myUP|S.UPSLoa|
|00005420| 64 2c 6d 79 55 50 53 2e | 4c 69 6e 65 46 72 65 71 |d,myUPS.|LineFreq|
|00005430| 2c 6d 79 55 50 53 2e 4c | 69 6e 65 56 6f 6c 74 61 |,myUPS.L|ineVolta|
|00005440| 67 65 29 3b 0a 09 66 70 | 72 69 6e 74 66 28 55 50 |ge);..fp|rintf(UP|
|00005450| 53 6c 6f 67 66 69 6c 65 | 2c 22 25 2e 31 66 20 25 |Slogfile|,"%.1f %|
|00005460| 2e 31 66 20 25 2e 31 66 | 5c 6e 22 2c 6d 79 55 50 |.1f %.1f|\n",myUP|
|00005470| 53 2e 4f 75 74 70 75 74 | 56 6f 6c 74 61 67 65 2c |S.Output|Voltage,|
|00005480| 6d 79 55 50 53 2e 55 50 | 53 54 65 6d 70 2c 6d 79 |myUPS.UP|STemp,my|
|00005490| 55 50 53 2e 42 61 74 74 | 56 6f 6c 74 61 67 65 29 |UPS.Batt|Voltage)|
|000054a0| 3b 0a 09 66 66 6c 75 73 | 68 28 55 50 53 6c 6f 67 |;..fflus|h(UPSlog|
|000054b0| 66 69 6c 65 29 3b 0a 7d | 0a 0a 0a 00 00 00 00 00 |file);.}|........|
|000054c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000054d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000054e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000054f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005500| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005510| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005520| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005530| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005540| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005550| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005560| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005570| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005580| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005590| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000055a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000055b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000055c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000055d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000055e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000055f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005600| 61 70 63 64 2e 63 6f 6e | 66 00 00 00 00 00 00 00 |apcd.con|f.......|
|00005610| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005620| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005630| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005640| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005650| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005660| 00 00 00 00 31 30 30 36 | 34 34 20 00 20 20 20 20 |....1006|44 . |
|00005670| 20 30 20 00 20 20 20 20 | 20 30 20 00 20 20 20 20 | 0 . | 0 . |
|00005680| 20 20 20 31 31 31 34 20 | 20 36 30 34 36 31 30 35 | 1114 | 6046105|
|00005690| 32 35 31 20 20 31 30 37 | 30 37 00 20 30 00 00 00 |251 107|07. 0...|
|000056a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000056b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000056c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000056d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000056e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000056f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005700| 00 75 73 74 61 72 20 20 | 00 72 6f 6f 74 00 00 00 |.ustar |.root...|
|00005710| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005720| 00 00 00 00 00 00 00 00 | 00 72 6f 6f 74 00 00 00 |........|.root...|
|00005730| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005740| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005750| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005760| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005770| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005780| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005790| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000057a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000057b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000057c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000057d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000057e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000057f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005800| 23 20 54 68 69 73 20 69 | 73 20 61 20 73 61 6d 70 |# This i|s a samp|
|00005810| 6c 65 20 63 6f 6e 66 69 | 67 75 72 61 74 69 6f 6e |le confi|guration|
|00005820| 20 66 69 6c 65 20 66 6f | 72 20 74 68 65 20 61 70 | file fo|r the ap|
|00005830| 63 64 20 64 61 65 6d 6f | 6e 0a 23 20 28 63 29 20 |cd daemo|n.# (c) |
|00005840| 31 39 39 35 20 50 61 76 | 65 6c 20 4b 6f 72 65 6e |1995 Pav|el Koren|
|00005850| 73 6b 79 20 20 70 61 76 | 65 6c 6b 40 64 61 74 6f |sky pav|elk@dato|
|00005860| 72 33 2e 61 6e 65 74 2e | 63 7a 0a 23 0a 23 0a 23 |r3.anet.|cz.#.#.#|
|00005870| 20 4d 61 73 74 65 72 20 | 73 65 63 74 69 6f 6e 20 | Master |section |
|00005880| 2d 20 73 68 6f 75 6c 64 | 20 62 65 20 75 6e 63 6f |- should| be unco|
|00005890| 6d 6d 65 6e 74 65 64 20 | 6f 6e 20 74 68 65 20 6d |mmented |on the m|
|000058a0| 61 73 74 65 72 20 6d 61 | 63 68 69 6e 65 0a 23 0a |aster ma|chine.#.|
|000058b0| 23 20 46 69 72 73 74 6c | 79 2c 20 74 68 65 20 70 |# Firstl|y, the p|
|000058c0| 6f 72 74 20 75 73 65 64 | 20 66 6f 72 20 63 6f 6d |ort used| for com|
|000058d0| 6d 75 6e 69 63 61 74 69 | 6f 6e 20 77 69 74 68 20 |municati|on with |
|000058e0| 55 50 53 0a 0a 23 50 4f | 52 54 20 2f 64 65 76 2f |UPS..#PO|RT /dev/|
|000058f0| 75 70 73 0a 0a 23 20 54 | 68 65 20 74 69 6d 65 6f |ups..# T|he timeo|
|00005900| 75 74 20 62 65 66 6f 72 | 65 20 73 79 73 74 65 6d |ut befor|e system|
|00005910| 20 73 68 75 74 64 6f 77 | 6e 0a 0a 23 54 49 4d 45 | shutdow|n..#TIME|
|00005920| 4f 55 54 20 31 30 0a 0a | 23 20 54 68 65 20 6e 61 |OUT 10..|# The na|
|00005930| 6d 65 20 6f 66 20 74 68 | 65 20 6c 6f 67 67 69 6e |me of th|e loggin|
|00005940| 67 20 66 69 6c 65 0a 0a | 23 4c 4f 47 46 49 4c 45 |g file..|#LOGFILE|
|00005950| 4e 41 4d 45 20 2f 76 61 | 72 2f 61 64 6d 2f 75 70 |NAME /va|r/adm/up|
|00005960| 73 73 74 61 74 2e 6c 6f | 67 0a 0a 23 20 54 68 65 |sstat.lo|g..# The|
|00005970| 20 61 64 64 72 65 73 73 | 65 73 20 6f 66 20 74 68 | address|es of th|
|00005980| 65 20 73 6c 61 76 65 20 | 6d 61 63 68 69 6e 65 73 |e slave |machines|
|00005990| 0a 23 53 4c 41 56 45 20 | 7a 65 6e 69 74 68 2e 64 |.#SLAVE |zenith.d|
|000059a0| 61 74 6f 72 33 2e 61 6e | 65 74 2e 63 7a 0a 23 53 |ator3.an|et.cz.#S|
|000059b0| 4c 41 56 45 20 74 6f 6d | 61 73 5f 70 63 2e 64 61 |LAVE tom|as_pc.da|
|000059c0| 74 6f 72 33 2e 61 6e 65 | 74 2e 63 7a 0a 23 53 4c |tor3.ane|t.cz.#SL|
|000059d0| 41 56 45 20 7a 64 65 6e | 65 6b 5f 70 63 2e 64 61 |AVE zden|ek_pc.da|
|000059e0| 74 6f 72 33 2e 61 6e 65 | 74 2e 63 7a 0a 23 0a 23 |tor3.ane|t.cz.#.#|
|000059f0| 20 53 6c 61 76 65 20 73 | 65 63 74 69 6f 6e 20 2d | Slave s|ection -|
|00005a00| 20 73 68 6f 75 6c 64 20 | 62 65 20 75 6e 63 6f 6d | should |be uncom|
|00005a10| 6d 65 6e 74 65 64 20 6f | 6e 20 74 68 65 20 73 6c |mented o|n the sl|
|00005a20| 61 76 65 20 6d 61 63 68 | 69 6e 65 73 0a 23 0a 0a |ave mach|ines.#..|
|00005a30| 4d 41 53 54 45 52 20 63 | 68 61 6f 73 2e 64 61 74 |MASTER c|haos.dat|
|00005a40| 6f 72 33 2e 61 6e 65 74 | 2e 63 7a 0a 00 00 00 00 |or3.anet|.cz.....|
|00005a50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005a60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005a70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005a80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005a90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005aa0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005ab0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005ac0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005ad0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005ae0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005af0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005b00| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005b10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005b20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005b30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005b40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005b50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005b60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005b70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005b80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005b90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005ba0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005bb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005bc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005bd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005be0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005bf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005c00| 61 70 63 64 2e 68 00 00 | 00 00 00 00 00 00 00 00 |apcd.h..|........|
|00005c10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005c20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005c30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005c40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005c50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005c60| 00 00 00 00 31 30 30 36 | 34 34 20 00 20 20 20 20 |....1006|44 . |
|00005c70| 20 30 20 00 20 20 20 20 | 20 30 20 00 20 20 20 20 | 0 . | 0 . |
|00005c80| 20 20 31 37 35 33 31 20 | 20 36 30 34 37 36 35 31 | 17531 | 6047651|
|00005c90| 37 30 37 20 20 31 30 32 | 36 30 00 20 30 00 00 00 |707 102|60. 0...|
|00005ca0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005cb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005cc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005cd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005ce0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005cf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005d00| 00 75 73 74 61 72 20 20 | 00 72 6f 6f 74 00 00 00 |.ustar |.root...|
|00005d10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005d20| 00 00 00 00 00 00 00 00 | 00 72 6f 6f 74 00 00 00 |........|.root...|
|00005d30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005d40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005d50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005d60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005d70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005d80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005d90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005da0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005db0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005dc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005dd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005de0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005df0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005e00| 2f 2a 20 61 70 63 64 2e | 68 20 2d 20 44 65 66 69 |/* apcd.|h - Defi|
|00005e10| 6e 69 74 6f 6e 73 20 66 | 69 6c 65 20 66 6f 72 20 |nitons f|ile for |
|00005e20| 41 50 43 20 53 6d 61 72 | 74 55 50 53 20 64 61 65 |APC Smar|tUPS dae|
|00005e30| 6d 6f 6e 0a 20 2a 0a 20 | 2a 20 43 6f 70 79 72 69 |mon. *. |* Copyri|
|00005e40| 67 68 74 20 28 63 29 20 | 31 39 39 35 20 50 61 76 |ght (c) |1995 Pav|
|00005e50| 65 6c 20 4b 6f 72 65 6e | 73 6b 79 0a 20 2a 20 41 |el Koren|sky. * A|
|00005e60| 6c 6c 20 72 69 67 68 74 | 73 20 72 65 73 65 72 76 |ll right|s reserv|
|00005e70| 65 64 0a 20 2a 0a 20 2a | 20 56 65 72 73 69 6f 6e |ed. *. *| Version|
|00005e80| 3a 0a 20 2a 20 0a 20 2a | 20 24 49 64 3a 20 61 70 |:. * . *| $Id: ap|
|00005e90| 63 64 2e 68 2c 76 20 31 | 2e 35 20 31 39 39 35 2f |cd.h,v 1|.5 1995/|
|00005ea0| 31 31 2f 30 37 20 31 32 | 3a 34 30 3a 32 34 20 72 |11/07 12|:40:24 r|
|00005eb0| 6f 6f 74 20 45 78 70 20 | 72 6f 6f 74 20 24 0a 20 |oot Exp |root $. |
|00005ec0| 2a 0a 20 2a 0a 20 2a 20 | 48 69 73 74 6f 72 79 3a |*. *. * |History:|
|00005ed0| 0a 20 2a 0a 20 2a 20 24 | 4c 6f 67 3a 20 61 70 63 |. *. * $|Log: apc|
|00005ee0| 64 2e 68 2c 76 20 24 0a | 20 2a 20 52 65 76 69 73 |d.h,v $.| * Revis|
|00005ef0| 69 6f 6e 20 31 2e 35 20 | 20 31 39 39 35 2f 31 31 |ion 1.5 | 1995/11|
|00005f00| 2f 30 37 20 20 31 32 3a | 34 30 3a 32 34 20 20 72 |/07 12:|40:24 r|
|00005f10| 6f 6f 74 0a 20 2a 20 56 | 65 72 73 69 6f 6e 20 30 |oot. * V|ersion 0|
|00005f20| 2e 35 20 42 65 74 61 20 | 75 70 6c 6f 61 64 65 64 |.5 Beta |uploaded|
|00005f30| 20 74 6f 20 74 68 65 20 | 73 75 6e 73 69 74 65 0a | to the |sunsite.|
|00005f40| 20 2a 0a 20 2a 20 52 65 | 76 69 73 69 6f 6e 20 31 | *. * Re|vision 1|
|00005f50| 2e 34 20 20 31 39 39 35 | 2f 30 35 2f 32 33 20 20 |.4 1995|/05/23 |
|00005f60| 30 31 3a 30 38 3a 31 38 | 20 20 72 6f 6f 74 0a 20 |01:08:18| root. |
|00005f70| 2a 20 50 61 72 61 6d 65 | 74 65 72 73 20 61 72 65 |* Parame|ters are|
|00005f80| 20 6f 6e 20 74 68 65 20 | 63 6f 6d 6d 61 6e 64 20 | on the |command |
|00005f90| 6c 69 6e 65 2c 20 69 6e | 73 74 65 61 64 20 6f 66 |line, in|stead of|
|00005fa0| 20 74 68 65 20 63 6f 6e | 66 69 67 2e 68 20 66 69 | the con|fig.h fi|
|00005fb0| 6c 65 0a 20 2a 0a 20 2a | 20 52 65 76 69 73 69 6f |le. *. *| Revisio|
|00005fc0| 6e 20 31 2e 33 20 20 31 | 39 39 35 2f 30 35 2f 32 |n 1.3 1|995/05/2|
|00005fd0| 33 20 20 30 30 3a 32 36 | 3a 30 38 20 20 72 6f 6f |3 00:26|:08 roo|
|00005fe0| 74 0a 20 2a 20 55 50 53 | 20 73 77 69 74 63 68 2d |t. * UPS| switch-|
|00005ff0| 6f 66 66 20 77 61 73 20 | 61 64 64 65 64 0a 20 2a |off was |added. *|
|00006000| 0a 20 2a 20 52 65 76 69 | 73 69 6f 6e 20 31 2e 32 |. * Revi|sion 1.2|
|00006010| 20 20 31 39 39 35 2f 30 | 35 2f 32 31 20 20 32 30 | 1995/0|5/21 20|
|00006020| 3a 31 35 3a 35 36 20 20 | 72 6f 6f 74 0a 20 2a 20 |:15:56 |root. * |
|00006030| 46 69 72 73 74 20 41 4c | 50 48 41 20 76 65 72 73 |First AL|PHA vers|
|00006040| 69 6f 6e 0a 20 2a 0a 20 | 2a 20 52 65 76 69 73 69 |ion. *. |* Revisi|
|00006050| 6f 6e 20 31 2e 31 20 20 | 31 39 39 35 2f 30 35 2f |on 1.1 |1995/05/|
|00006060| 32 30 20 20 31 32 3a 32 | 32 3a 35 34 20 20 72 6f |20 12:2|2:54 ro|
|00006070| 6f 74 0a 20 2a 20 49 6e | 69 74 69 61 6c 20 72 65 |ot. * In|itial re|
|00006080| 76 69 73 69 6f 6e 0a 20 | 2a 0a 20 2a 0a 20 2a 2f |vision. |*. *. */|
|00006090| 0a 0a 2f 2a 20 0a 20 2a | 20 41 20 66 65 77 20 77 |../* . *| A few w|
|000060a0| 6f 72 64 73 20 72 65 67 | 61 72 64 69 6e 67 20 74 |ords reg|arding t|
|000060b0| 68 65 20 41 50 43 20 73 | 65 72 69 61 6c 20 70 72 |he APC s|erial pr|
|000060c0| 6f 74 6f 63 6f 6c 0a 20 | 2a 20 0a 20 2a 20 46 69 |otocol. |* . * Fi|
|000060d0| 72 73 74 6c 79 2c 20 74 | 68 65 20 63 61 62 6c 65 |rstly, t|he cable|
|000060e0| 3a 0a 20 2a 0a 20 2a 20 | 59 6f 75 20 77 69 6c 6c |:. *. * |You will|
|000060f0| 20 6e 65 65 64 20 61 20 | 73 69 6d 70 6c 65 20 33 | need a |simple 3|
|00006100| 20 77 69 72 65 73 20 63 | 61 62 6c 65 20 63 6f 6e | wires c|able con|
|00006110| 6e 65 63 74 65 64 20 61 | 73 20 66 6f 6c 6c 6f 77 |nected a|s follow|
|00006120| 73 3a 0a 20 2a 0a 20 2a | 20 50 43 20 28 39 20 70 |s:. *. *| PC (9 p|
|00006130| 69 6e 29 20 20 20 20 20 | 41 50 43 0a 20 2a 20 20 |in) |APC. * |
|00006140| 32 20 52 78 44 20 20 20 | 20 20 20 20 20 20 20 32 |2 RxD | 2|
|00006150| 0a 20 2a 20 20 33 20 54 | 78 44 20 20 20 20 20 20 |. * 3 T|xD |
|00006160| 20 20 20 20 31 0a 20 2a | 20 20 35 20 47 4e 44 20 | 1. *| 5 GND |
|00006170| 20 20 20 20 20 20 20 20 | 20 39 0a 20 2a 0a 20 2a | | 9. *. *|
|00006180| 20 43 6f 6d 6d 75 6e 69 | 63 61 74 69 6f 6e 20 70 | Communi|cation p|
|00006190| 72 6f 74 6f 63 6f 6c 20 | 77 68 69 63 68 20 69 73 |rotocol |which is|
|000061a0| 20 75 73 65 64 20 66 6f | 72 20 63 6f 6e 74 72 6f | used fo|r contro|
|000061b0| 6c 6c 69 6e 67 20 74 68 | 65 20 41 50 43 20 53 6d |lling th|e APC Sm|
|000061c0| 61 72 74 55 50 53 0a 20 | 2a 20 69 73 20 76 65 72 |artUPS. |* is ver|
|000061d0| 79 20 73 69 6d 70 6c 65 | 20 41 53 43 49 49 20 70 |y simple| ASCII p|
|000061e0| 72 6f 74 6f 63 6f 6c 2e | 0a 20 2a 20 54 68 65 20 |rotocol.|. * The |
|000061f0| 73 65 72 69 61 6c 20 63 | 6f 6d 6d 75 6e 69 63 61 |serial c|ommunica|
|00006200| 74 69 6f 6e 20 69 73 20 | 32 34 30 30 20 42 64 2c |tion is |2400 Bd,|
|00006210| 20 38 4e 31 0a 20 2a 0a | 20 2a 20 42 61 73 69 63 | 8N1. *.| * Basic|
|00006220| 61 6c 6c 79 2c 20 79 6f | 75 72 20 63 6f 6d 70 75 |ally, yo|ur compu|
|00006230| 74 65 72 20 73 65 6e 64 | 20 61 20 63 68 61 72 61 |ter send| a chara|
|00006240| 63 74 65 72 20 74 6f 20 | 74 68 65 20 55 50 53 20 |cter to |the UPS |
|00006250| 61 6e 64 20 55 50 53 20 | 61 6e 73 77 65 72 0a 20 |and UPS |answer. |
|00006260| 2a 20 77 69 74 68 20 74 | 68 65 20 72 65 71 75 65 |* with t|he reque|
|00006270| 73 74 65 64 20 69 6e 66 | 6f 72 6d 61 74 69 6f 6e |sted inf|ormation|
|00006280| 20 69 6e 20 74 68 65 20 | 66 6f 72 6d 20 6f 66 20 | in the |form of |
|00006290| 74 68 65 20 41 53 43 49 | 49 20 73 74 72 69 6e 67 |the ASCI|I string|
|000062a0| 20 74 65 72 6d 69 6e 61 | 74 65 64 0a 20 2a 20 77 | termina|ted. * w|
|000062b0| 69 74 68 20 43 52 2f 4c | 46 2e 0a 20 2a 20 49 6e |ith CR/L|F.. * In|
|000062c0| 20 73 6f 6d 65 20 63 61 | 73 65 73 2c 20 74 68 65 | some ca|ses, the|
|000062d0| 20 55 50 53 20 61 6e 73 | 77 65 72 20 69 73 20 74 | UPS ans|wer is t|
|000062e0| 68 65 20 61 63 74 69 6f | 6e 20 6c 69 6b 65 20 62 |he actio|n like b|
|000062f0| 61 74 74 65 72 79 20 74 | 65 73 74 20 65 74 63 2e |attery t|est etc.|
|00006300| 0a 20 2a 0a 20 2a 20 54 | 68 65 72 65 20 61 72 65 |. *. * T|here are|
|00006310| 20 74 77 6f 20 65 78 63 | 65 70 74 69 6f 6e 73 2e | two exc|eptions.|
|00006320| 20 49 66 20 74 68 65 20 | 55 50 53 20 69 73 20 73 | If the |UPS is s|
|00006330| 77 69 74 63 68 69 6e 67 | 20 74 6f 20 74 68 65 20 |witching| to the |
|00006340| 62 61 74 74 65 72 79 2c | 20 74 68 65 0a 20 2a 20 |battery,| the. * |
|00006350| 63 68 61 72 61 63 74 65 | 72 73 20 22 21 21 22 20 |characte|rs "!!" |
|00006360| 61 72 65 20 73 65 6e 74 | 20 74 6f 20 74 68 65 20 |are sent| to the |
|00006370| 63 6f 6d 70 75 74 65 72 | 2e 20 49 66 20 74 68 65 |computer|. If the|
|00006380| 20 55 50 53 20 69 73 20 | 73 77 69 74 63 68 69 6e | UPS is |switchin|
|00006390| 67 20 62 61 63 6b 0a 20 | 2a 20 6f 6e 2d 6c 69 6e |g back. |* on-lin|
|000063a0| 65 2c 20 74 68 65 20 63 | 68 61 72 61 74 65 72 20 |e, the c|harater |
|000063b0| 27 24 27 20 69 73 20 73 | 65 6e 74 20 74 6f 20 74 |'$' is s|ent to t|
|000063c0| 68 65 20 63 6f 6d 70 75 | 74 65 72 2e 20 49 66 20 |he compu|ter. If |
|000063d0| 62 61 74 74 65 72 79 20 | 69 73 20 6c 6f 77 2c 0a |battery |is low,.|
|000063e0| 20 2a 20 27 25 27 20 69 | 73 20 73 65 6e 74 20 74 | * '%' i|s sent t|
|000063f0| 6f 20 74 68 65 20 63 6f | 6d 70 75 74 65 72 2e 20 |o the co|mputer. |
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.